@equinor/fusion-framework-cli 15.6.2 â 15.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/bin/build/bin.mjs +1 -1
- package/bin/build/cli.mjs +3 -3
- package/dist/esm/version.js +1 -1
- package/dist/types/bin/upload-application.d.ts +4 -1
- package/dist/types/bin/upload-application.test.d.ts +1 -0
- package/dist/types/cli/commands/app/publish.command.d.ts +1 -0
- package/dist/types/cli/commands/app/publish.command.test.d.ts +1 -0
- package/dist/types/version.d.ts +1 -1
- package/docs/application.md +44 -0
- package/package.json +3 -3
package/bin/build/bin.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{loadConfigFromFile as e,mergeConfig as t,build as n,loadEnv as r}from"vite";import i from"chalk";import o from"vite-tsconfig-paths";import{dirname as s,resolve as a,basename as c,extname as l,relative as u}from"node:path";import{readPackageUp as f}from"read-package-up";import p,{fileURLToPath as d}from"node:url";import h from"node:module";import m from"util";import{accessSync as g,constants as v,readFileSync as y,statSync as E,existsSync as b,mkdirSync as w,writeFileSync as L}from"node:fs";import{importConfig as I,FileNotFoundError as S}from"@equinor/fusion-imports";import C from"deepmerge";import{reactRouterPlugin as _}from"@equinor/fusion-framework-vite-plugin-react-router";import{rawImportsPlugin as D}from"@equinor/fusion-framework-vite-plugin-raw-imports";import P from"node:assert";import{execSync as N}from"node:child_process";import{coerce as O,SemVer as A,satisfies as R}from"semver";import $,{z as T}from"zod";import x from"fs";import U from"path";import F from"zlib";import k from"crypto";import{stat as B,mkdir as M}from"node:fs/promises";import G from"ora";import{processServices as j,createDevServer as H}from"@equinor/fusion-framework-dev-server";import{enableAzureIdentityAuth as z}from"@equinor/fusion-framework-module-azure-identity";function q(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var V,W,Z,K;function Y(){if(W)return V;W=1;const e="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return V=e}function X(){if(K)return Z;K=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return Z={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}var J,Q,ee,te,ne,re,ie,oe,se,ae,ce,le,ue,fe={exports:{}};function pe(){return J||(J=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=X(),o=Y(),s=(t=e.exports={}).re=[],a=t.safeRe=[],c=t.src=[],l=t.safeSrc=[],u=t.t={};let f=0;const p="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",i],[p,r]],h=(e,t,n)=>{const r=(e=>{for(const[t,n]of d)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e})(t),i=f++;o(e,i,t),u[e]=i,c[i]=t,l[i]=r,s[i]=new RegExp(t,n?"g":void 0),a[i]=new RegExp(r,n?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),h("MAINVERSION",`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASE",`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${p}+`),h("BUILD",`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),h("FULL",`^${c[u.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),h("LOOSE",`^${c[u.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),h("XRANGE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h("COERCE",`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?`+`(?:${c[u.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",c[u.COERCE],!0),h("COERCERTLFULL",c[u.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${c[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${c[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(fe,fe.exports)),fe.exports}function de(){if(ie)return re;ie=1;const e=Y(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=X(),{safeRe:r,t:i}=pe(),o=function(){if(ee)return Q;ee=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return Q=n=>n?"object"!=typeof n?e:n:t}(),{compareIdentifiers:s}=function(){if(ne)return te;ne=1;const e=/^[0-9]+$/,t=(t,n)=>{if("number"==typeof t&&"number"==typeof n)return t===n?0:t<n?-1:1;const r=e.test(t),i=e.test(n);return r&&i&&(t=+t,n=+n),t===n?0:r&&!i?-1:i&&!r?1:t<n?-1:1};return te={compareIdentifiers:t,rcompareIdentifiers:(e,n)=>t(n,e)}}();class a{constructor(s,c){if(c=o(c),s instanceof a){if(s.loose===!!c.loose&&s.includePrerelease===!!c.includePrerelease)return s;s=s.version}else if("string"!=typeof s)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof s}".`);if(s.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",s,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const l=s.trim().match(c.loose?r[i.LOOSE]:r[i.FULL]);if(!l)throw new TypeError(`Invalid Version: ${s}`);if(this.raw=s,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");l[4]?this.prerelease=l[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<n)return t}return e}):this.prerelease=[],this.build=l[5]?l[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(e("SemVer.compare",this.version,this.options,t),!(t instanceof a)){if("string"==typeof t&&t===this.version)return 0;t=new a(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(e){return e instanceof a||(e=new a(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(t){if(t instanceof a||(t=new a(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{const r=this.prerelease[n],i=t.prerelease[n];if(e("prerelease compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}compareBuild(t){t instanceof a||(t=new a(t,this.options));let n=0;do{const r=this.build[n],i=t.build[n];if(e("build compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}inc(e,t,n){if(e.startsWith("pre")){if(!t&&!1===n)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?r[i.PRERELEASELOOSE]:r[i.PRERELEASE]);if(!e||e[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,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,n),this.inc("pre",t,n);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(n)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(t===this.prerelease.join(".")&&!1===n)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let r=[t,e];if(!1===n&&(r=[t]),((e,t)=>{const n=t.split(".");if(n.length>e.length)return!1;for(let t=0;t<n.length;t++)if(0!==s(e[t],n[t]))return!1;return!0})(this.prerelease,t)){const e=this.prerelease[t.split(".").length];isNaN(e)&&(this.prerelease=r)}else this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return re=a}function he(){if(se)return oe;se=1;const e=de();return oe=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(e){if(!r)return null;throw e}},oe}var me,ge,ve,ye,Ee,be,we,Le,Ie,Se,Ce=["0BSD","3D-Slicer-1.0","AAL","ADSL","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AFL-3.0","AGPL-1.0-only","AGPL-1.0-or-later","AGPL-3.0-only","AGPL-3.0-or-later","AMD-newlib","AMDPLPA","AML","AML-glslang","AMPAS","ANTLR-PD","ANTLR-PD-fallback","APAFML","APL-1.0","APSL-1.0","APSL-1.1","APSL-1.2","APSL-2.0","ASWF-Digital-Assets-1.0","ASWF-Digital-Assets-1.1","Abstyles","AdaCore-doc","Adobe-2006","Adobe-Display-PostScript","Adobe-Glyph","Adobe-Utopia","Afmparse","Aladdin","Apache-1.0","Apache-1.1","Apache-2.0","App-s2p","Arphic-1999","Artistic-1.0","Artistic-1.0-Perl","Artistic-1.0-cl8","Artistic-2.0","Artistic-dist","Aspell-RU","BSD-1-Clause","BSD-2-Clause","BSD-2-Clause-Darwin","BSD-2-Clause-Patent","BSD-2-Clause-Views","BSD-2-Clause-first-lines","BSD-2-Clause-pkgconf-disclaimer","BSD-3-Clause","BSD-3-Clause-Attribution","BSD-3-Clause-Clear","BSD-3-Clause-HP","BSD-3-Clause-LBNL","BSD-3-Clause-Modification","BSD-3-Clause-No-Military-License","BSD-3-Clause-No-Nuclear-License","BSD-3-Clause-No-Nuclear-License-2014","BSD-3-Clause-No-Nuclear-Warranty","BSD-3-Clause-Open-MPI","BSD-3-Clause-Sun","BSD-3-Clause-acpica","BSD-3-Clause-flex","BSD-4-Clause","BSD-4-Clause-Shortened","BSD-4-Clause-UC","BSD-4.3RENO","BSD-4.3TAHOE","BSD-Advertising-Acknowledgement","BSD-Attribution-HPND-disclaimer","BSD-Inferno-Nettverk","BSD-Protection","BSD-Source-Code","BSD-Source-beginning-file","BSD-Systemics","BSD-Systemics-W3Works","BSL-1.0","BUSL-1.1","Baekmuk","Bahyph","Barr","Beerware","BitTorrent-1.0","BitTorrent-1.1","Bitstream-Charter","Bitstream-Vera","BlueOak-1.0.0","Boehm-GC","Boehm-GC-without-fee","Borceux","Brian-Gladman-2-Clause","Brian-Gladman-3-Clause","C-UDA-1.0","CAL-1.0","CAL-1.0-Combined-Work-Exception","CATOSL-1.1","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-2.5-AU","CC-BY-3.0","CC-BY-3.0-AT","CC-BY-3.0-AU","CC-BY-3.0-DE","CC-BY-3.0-IGO","CC-BY-3.0-NL","CC-BY-3.0-US","CC-BY-4.0","CC-BY-NC-1.0","CC-BY-NC-2.0","CC-BY-NC-2.5","CC-BY-NC-3.0","CC-BY-NC-3.0-DE","CC-BY-NC-4.0","CC-BY-NC-ND-1.0","CC-BY-NC-ND-2.0","CC-BY-NC-ND-2.5","CC-BY-NC-ND-3.0","CC-BY-NC-ND-3.0-DE","CC-BY-NC-ND-3.0-IGO","CC-BY-NC-ND-4.0","CC-BY-NC-SA-1.0","CC-BY-NC-SA-2.0","CC-BY-NC-SA-2.0-DE","CC-BY-NC-SA-2.0-FR","CC-BY-NC-SA-2.0-UK","CC-BY-NC-SA-2.5","CC-BY-NC-SA-3.0","CC-BY-NC-SA-3.0-DE","CC-BY-NC-SA-3.0-IGO","CC-BY-NC-SA-4.0","CC-BY-ND-1.0","CC-BY-ND-2.0","CC-BY-ND-2.5","CC-BY-ND-3.0","CC-BY-ND-3.0-DE","CC-BY-ND-4.0","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.0-UK","CC-BY-SA-2.1-JP","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-3.0-AT","CC-BY-SA-3.0-DE","CC-BY-SA-3.0-IGO","CC-BY-SA-4.0","CC-PDDC","CC-PDM-1.0","CC-SA-1.0","CC0-1.0","CDDL-1.0","CDDL-1.1","CDL-1.0","CDLA-Permissive-1.0","CDLA-Permissive-2.0","CDLA-Sharing-1.0","CECILL-1.0","CECILL-1.1","CECILL-2.0","CECILL-2.1","CECILL-B","CECILL-C","CERN-OHL-1.1","CERN-OHL-1.2","CERN-OHL-P-2.0","CERN-OHL-S-2.0","CERN-OHL-W-2.0","CFITSIO","CMU-Mach","CMU-Mach-nodoc","CNRI-Jython","CNRI-Python","CNRI-Python-GPL-Compatible","COIL-1.0","CPAL-1.0","CPL-1.0","CPOL-1.02","CUA-OPL-1.0","Caldera","Caldera-no-preamble","Catharon","ClArtistic","Clips","Community-Spec-1.0","Condor-1.1","Cornell-Lossless-JPEG","Cronyx","Crossword","CryptoSwift","CrystalStacker","Cube","D-FSL-1.0","DEC-3-Clause","DL-DE-BY-2.0","DL-DE-ZERO-2.0","DOC","DRL-1.0","DRL-1.1","DSDP","DocBook-DTD","DocBook-Schema","DocBook-Stylesheet","DocBook-XML","Dotseqn","ECL-1.0","ECL-2.0","EFL-1.0","EFL-2.0","EPICS","EPL-1.0","EPL-2.0","EUDatagrid","EUPL-1.0","EUPL-1.1","EUPL-1.2","Elastic-2.0","Entessa","ErlPL-1.1","Eurosym","FBM","FDK-AAC","FSFAP","FSFAP-no-warranty-disclaimer","FSFUL","FSFULLR","FSFULLRSD","FSFULLRWD","FSL-1.1-ALv2","FSL-1.1-MIT","FTL","Fair","Ferguson-Twofish","Frameworx-1.0","FreeBSD-DOC","FreeImage","Furuseth","GCR-docs","GD","GFDL-1.1-invariants-only","GFDL-1.1-invariants-or-later","GFDL-1.1-no-invariants-only","GFDL-1.1-no-invariants-or-later","GFDL-1.1-only","GFDL-1.1-or-later","GFDL-1.2-invariants-only","GFDL-1.2-invariants-or-later","GFDL-1.2-no-invariants-only","GFDL-1.2-no-invariants-or-later","GFDL-1.2-only","GFDL-1.2-or-later","GFDL-1.3-invariants-only","GFDL-1.3-invariants-or-later","GFDL-1.3-no-invariants-only","GFDL-1.3-no-invariants-or-later","GFDL-1.3-only","GFDL-1.3-or-later","GL2PS","GLWTPL","GPL-1.0-only","GPL-1.0-or-later","GPL-2.0-only","GPL-2.0-or-later","GPL-3.0-only","GPL-3.0-or-later","Game-Programming-Gems","Giftware","Glide","Glulxe","Graphics-Gems","Gutmann","HDF5","HIDAPI","HP-1986","HP-1989","HPND","HPND-DEC","HPND-Fenneberg-Livingston","HPND-INRIA-IMAG","HPND-Intel","HPND-Kevlin-Henney","HPND-MIT-disclaimer","HPND-Markus-Kuhn","HPND-Netrek","HPND-Pbmplus","HPND-UC","HPND-UC-export-US","HPND-doc","HPND-doc-sell","HPND-export-US","HPND-export-US-acknowledgement","HPND-export-US-modify","HPND-export2-US","HPND-merchantability-variant","HPND-sell-MIT-disclaimer-xserver","HPND-sell-regexpr","HPND-sell-variant","HPND-sell-variant-MIT-disclaimer","HPND-sell-variant-MIT-disclaimer-rev","HTMLTIDY","HaskellReport","Hippocratic-2.1","IBM-pibs","ICU","IEC-Code-Components-EULA","IJG","IJG-short","IPA","IPL-1.0","ISC","ISC-Veillard","ImageMagick","Imlib2","Info-ZIP","Inner-Net-2.0","InnoSetup","Intel","Intel-ACPI","Interbase-1.0","JPL-image","JPNIC","JSON","Jam","JasPer-2.0","Kastrup","Kazlib","Knuth-CTAN","LAL-1.2","LAL-1.3","LGPL-2.0-only","LGPL-2.0-or-later","LGPL-2.1-only","LGPL-2.1-or-later","LGPL-3.0-only","LGPL-3.0-or-later","LGPLLR","LOOP","LPD-document","LPL-1.0","LPL-1.02","LPPL-1.0","LPPL-1.1","LPPL-1.2","LPPL-1.3a","LPPL-1.3c","LZMA-SDK-9.11-to-9.20","LZMA-SDK-9.22","Latex2e","Latex2e-translated-notice","Leptonica","LiLiQ-P-1.1","LiLiQ-R-1.1","LiLiQ-Rplus-1.1","Libpng","Linux-OpenIB","Linux-man-pages-1-para","Linux-man-pages-copyleft","Linux-man-pages-copyleft-2-para","Linux-man-pages-copyleft-var","Lucida-Bitmap-Fonts","MIPS","MIT","MIT-0","MIT-CMU","MIT-Click","MIT-Festival","MIT-Khronos-old","MIT-Modern-Variant","MIT-Wu","MIT-advertising","MIT-enna","MIT-feh","MIT-open-group","MIT-testregex","MITNFA","MMIXware","MPEG-SSG","MPL-1.0","MPL-1.1","MPL-2.0","MPL-2.0-no-copyleft-exception","MS-LPL","MS-PL","MS-RL","MTLL","Mackerras-3-Clause","Mackerras-3-Clause-acknowledgment","MakeIndex","Martin-Birgmeier","McPhee-slideshow","Minpack","MirOS","Motosoto","MulanPSL-1.0","MulanPSL-2.0","Multics","Mup","NAIST-2003","NASA-1.3","NBPL-1.0","NCBI-PD","NCGL-UK-2.0","NCL","NCSA","NGPL","NICTA-1.0","NIST-PD","NIST-PD-fallback","NIST-Software","NLOD-1.0","NLOD-2.0","NLPL","NOSL","NPL-1.0","NPL-1.1","NPOSL-3.0","NRL","NTIA-PD","NTP","NTP-0","Naumen","NetCDF","Newsletr","Nokia","Noweb","O-UDA-1.0","OAR","OCCT-PL","OCLC-2.0","ODC-By-1.0","ODbL-1.0","OFFIS","OFL-1.0","OFL-1.0-RFN","OFL-1.0-no-RFN","OFL-1.1","OFL-1.1-RFN","OFL-1.1-no-RFN","OGC-1.0","OGDL-Taiwan-1.0","OGL-Canada-2.0","OGL-UK-1.0","OGL-UK-2.0","OGL-UK-3.0","OGTSL","OLDAP-1.1","OLDAP-1.2","OLDAP-1.3","OLDAP-1.4","OLDAP-2.0","OLDAP-2.0.1","OLDAP-2.1","OLDAP-2.2","OLDAP-2.2.1","OLDAP-2.2.2","OLDAP-2.3","OLDAP-2.4","OLDAP-2.5","OLDAP-2.6","OLDAP-2.7","OLDAP-2.8","OLFL-1.3","OML","OPL-1.0","OPL-UK-3.0","OPUBL-1.0","OSET-PL-2.1","OSL-1.0","OSL-1.1","OSL-2.0","OSL-2.1","OSL-3.0","OpenPBS-2.3","OpenSSL","OpenSSL-standalone","OpenVision","PADL","PDDL-1.0","PHP-3.0","PHP-3.01","PPL","PSF-2.0","Parity-6.0.0","Parity-7.0.0","Pixar","Plexus","PolyForm-Noncommercial-1.0.0","PolyForm-Small-Business-1.0.0","PostgreSQL","Python-2.0","Python-2.0.1","QPL-1.0","QPL-1.0-INRIA-2004","Qhull","RHeCos-1.1","RPL-1.1","RPL-1.5","RPSL-1.0","RSA-MD","RSCPL","Rdisc","Ruby","Ruby-pty","SAX-PD","SAX-PD-2.0","SCEA","SGI-B-1.0","SGI-B-1.1","SGI-B-2.0","SGI-OpenGL","SGP4","SHL-0.5","SHL-0.51","SISSL","SISSL-1.2","SL","SMAIL-GPL","SMLNJ","SMPPL","SNIA","SOFA","SPL-1.0","SSH-OpenSSH","SSH-short","SSLeay-standalone","SSPL-1.0","SUL-1.0","SWL","Saxpath","SchemeReport","Sendmail","Sendmail-8.23","Sendmail-Open-Source-1.1","SimPL-2.0","Sleepycat","Soundex","Spencer-86","Spencer-94","Spencer-99","SugarCRM-1.1.3","Sun-PPP","Sun-PPP-2000","SunPro","Symlinks","TAPR-OHL-1.0","TCL","TCP-wrappers","TGPPL-1.0","TMate","TORQUE-1.1","TOSL","TPDL","TPL-1.0","TTWL","TTYP0","TU-Berlin-1.0","TU-Berlin-2.0","TermReadKey","ThirdEye","TrustedQSL","UCAR","UCL-1.0","UMich-Merit","UPL-1.0","URT-RLE","Ubuntu-font-1.0","Unicode-3.0","Unicode-DFS-2015","Unicode-DFS-2016","Unicode-TOU","UnixCrypt","Unlicense","Unlicense-libtelnet","Unlicense-libwhirlpool","VOSTROM","VSL-1.0","Vim","W3C","W3C-19980720","W3C-20150513","WTFPL","Watcom-1.0","Widget-Workshop","Wsuipa","X11","X11-distribute-modifications-variant","X11-swapped","XFree86-1.1","XSkat","Xdebug-1.03","Xerox","Xfig","Xnet","YPL-1.0","YPL-1.1","ZPL-1.1","ZPL-2.0","ZPL-2.1","Zed","Zeeff","Zend-2.0","Zimbra-1.3","Zimbra-1.4","Zlib","any-OSI","any-OSI-perl-modules","bcrypt-Solar-Designer","blessing","bzip2-1.0.6","check-cvs","checkmk","copyleft-next-0.3.0","copyleft-next-0.3.1","curl","cve-tou","diffmark","dtoa","dvipdfm","eGenix","etalab-2.0","fwlw","gSOAP-1.3b","generic-xts","gnuplot","gtkbook","hdparm","iMatix","jove","libpng-1.6.35","libpng-2.0","libselinux-1.0","libtiff","libutil-David-Nugent","lsof","magaz","mailprio","man2html","metamail","mpi-permissive","mpich2","mplus","ngrep","pkgconf","pnmstitch","psfrag","psutils","python-ldap","radvd","snprintf","softSurfer","ssh-keyscan","swrule","threeparttable","ulem","w3m","wwl","xinetd","xkeyboard-config-Zinoviev","xlock","xpp","xzoom","zlib-acknowledgement"],_e=["AGPL-1.0","AGPL-3.0","BSD-2-Clause-FreeBSD","BSD-2-Clause-NetBSD","GFDL-1.1","GFDL-1.2","GFDL-1.3","GPL-1.0","GPL-2.0","GPL-2.0-with-GCC-exception","GPL-2.0-with-autoconf-exception","GPL-2.0-with-bison-exception","GPL-2.0-with-classpath-exception","GPL-2.0-with-font-exception","GPL-3.0","GPL-3.0-with-GCC-exception","GPL-3.0-with-autoconf-exception","LGPL-2.0","LGPL-2.1","LGPL-3.0","Net-SNMP","Nunit","StandardML-NJ","bzip2-1.0.5","eCos-2.0","wxWindows"],De=["389-exception","Asterisk-exception","Autoconf-exception-2.0","Autoconf-exception-3.0","Autoconf-exception-generic","Autoconf-exception-generic-3.0","Autoconf-exception-macro","Bison-exception-1.24","Bison-exception-2.2","Bootloader-exception","Classpath-exception-2.0","CLISP-exception-2.0","cryptsetup-OpenSSL-exception","DigiRule-FOSS-exception","eCos-exception-2.0","Fawkes-Runtime-exception","FLTK-exception","fmt-exception","Font-exception-2.0","freertos-exception-2.0","GCC-exception-2.0","GCC-exception-2.0-note","GCC-exception-3.1","Gmsh-exception","GNAT-exception","GNOME-examples-exception","GNU-compiler-exception","gnu-javamail-exception","GPL-3.0-interface-exception","GPL-3.0-linking-exception","GPL-3.0-linking-source-exception","GPL-CC-1.0","GStreamer-exception-2005","GStreamer-exception-2008","i2p-gpl-java-exception","KiCad-libraries-exception","LGPL-3.0-linking-exception","libpri-OpenH323-exception","Libtool-exception","Linux-syscall-note","LLGPL","LLVM-exception","LZMA-exception","mif-exception","OCaml-LGPL-linking-exception","OCCT-exception-1.0","OpenJDK-assembly-exception-1.0","openvpn-openssl-exception","PS-or-PDF-font-exception-20170817","QPL-1.0-INRIA-2004-exception","Qt-GPL-exception-1.0","Qt-LGPL-exception-1.1","Qwt-exception-1.0","SANE-exception","SHL-2.0","SHL-2.1","stunnel-exception","SWI-exception","Swift-exception","Texinfo-exception","u-boot-exception-2.0","UBDL-exception","Universal-FOSS-exception-1.0","vsftpd-openssl-exception","WxWindows-exception-3.1","x11vnc-openssl-exception"];function Pe(){if(ge)return me;ge=1;var e=[].concat(Ce).concat(_e),t=De;return me=function(n){var r=0;function i(){return r<n.length}function o(e){if(e instanceof RegExp){var t=n.slice(r).match(e);if(t)return r+=t[0].length,t[0]}else if(n.indexOf(e,r)===r)return r+=e.length,e}function s(){o(/[ ]*/)}function a(){return o(/[A-Za-z0-9-.]+/)}function c(){var e=a();if(!e)throw new Error("Expected idstring at offset "+r);return e}function l(){return function(){for(var e,t=["WITH","AND","OR","(",")",":","+"],i=0;i<t.length&&!(e=o(t[i]));i++);if("+"===e&&r>1&&" "===n[r-2])throw new Error("Space before `+`");return e&&{type:"OPERATOR",string:e}}()||function(){if(o("DocumentRef-"))return{type:"DOCUMENTREF",string:c()}}()||function(){if(o("LicenseRef-"))return{type:"LICENSEREF",string:c()}}()||(i=r,s=a(),-1!==e.indexOf(s)?{type:"LICENSE",string:s}:-1!==t.indexOf(s)?{type:"EXCEPTION",string:s}:void(r=i));var i,s}for(var u=[];i()&&(s(),i());){var f=l();if(!f)throw new Error("Unexpected `"+n[r]+"` at offset "+r);u.push(f)}return u}}function Ne(){return ye?ve:(ye=1,ve=function(e){var t=0;function n(){return t<e.length}function r(){return n()?e[t]:null}function i(){if(!n())throw new Error;t++}function o(e){var t=r();if(t&&"OPERATOR"===t.type&&e===t.string)return i(),t.string}function s(){var e=r();if(e&&"LICENSE"===e.type){i();var t={license:e.string};o("+")&&(t.plus=!0);var n=function(){if(o("WITH")){var e=r();if(e&&"EXCEPTION"===e.type)return i(),e.string;throw new Error("Expected exception after `WITH`")}}();return n&&(t.exception=n),t}}function a(e,t){return function n(){var r=t();if(r){if(!o(e))return r;var i=n();if(!i)throw new Error("Expected expression");return{left:r,conjunction:e.toLowerCase(),right:i}}}}var c=a("AND",function(){return function(){if(o("(")){var e=l();if(!o(")"))throw new Error("Expected `)`");return e}}()||function(){var e=t,n="",s=r();if("DOCUMENTREF"===s.type&&(i(),n+="DocumentRef-"+s.string+":",!o(":")))throw new Error("Expected `:` after `DocumentRef-...`");if("LICENSEREF"===(s=r()).type)return i(),{license:n+="LicenseRef-"+s.string};t=e}()||s()}),l=a("OR",c),u=l();if(!u||n())throw new Error("Syntax error");return u})}function Oe(){if(be)return Ee;be=1;var e=Pe(),t=Ne();return Ee=function(n){return t(e(n))}}function Ae(){if(Se)return Ie;Se=1;var e=Oe(),t=function(){if(Le)return we;Le=1;var e=Oe(),t=Ce;function n(t){try{return e(t),!0}catch(e){return!1}}function r(e,t){var n=t[0].length-e[0].length;return 0!==n?n:e[0].toUpperCase().localeCompare(t[0].toUpperCase())}var i=[["APGL","AGPL"],["Gpl","GPL"],["GLP","GPL"],["APL","Apache"],["ISD","ISC"],["GLP","GPL"],["IST","ISC"],["Claude","Clause"],[" or later","+"],[" International",""],["GNU","GPL"],["GUN","GPL"],["+",""],["GNU GPL","GPL"],["GNU LGPL","LGPL"],["GNU/GPL","GPL"],["GNU GLP","GPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL"],["GNU Lesser General Public License","LGPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["GNU Lesser General Public License","LGPL-2.1"],["LESSER GENERAL PUBLIC LICENSE","LGPL"],["Lesser General Public License","LGPL"],["LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["Lesser General Public License","LGPL-2.1"],["GNU General Public License","GPL"],["Gnu public license","GPL"],["GNU Public License","GPL"],["GNU GENERAL PUBLIC LICENSE","GPL"],["MTI","MIT"],["Mozilla Public License","MPL"],["Universal Permissive License","UPL"],["WTH","WTF"],["WTFGPL","WTFPL"],["-License",""]].sort(r),o=[function(e){return e.toUpperCase()},function(e){return e.trim()},function(e){return e.replace(/\./g,"")},function(e){return e.replace(/\s+/g,"")},function(e){return e.replace(/\s+/g,"-")},function(e){return e.replace("v","-")},function(e){return e.replace(/,?\s*(\d)/,"-$1")},function(e){return e.replace(/,?\s*(\d)/,"-$1.0")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2.0")},function(e){return e[0].toUpperCase()+e.slice(1)},function(e){return e.replace("/","-")},function(e){return e.replace(/\s*V\s*(\d)/,"-$1").replace(/(\d)$/,"$1.0")},function(e){return-1!==e.indexOf("3.0")?e+"-or-later":e+"-only"},function(e){return e+"only"},function(e){return e.replace(/(\d)$/,"-$1.0")},function(e){return e.replace(/(-| )?(\d)$/,"-$2-Clause")},function(e){return e.replace(/(-| )clause(-| )(\d)/,"-$3-Clause")},function(e){return e.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i,"BSD-3-Clause")},function(e){return e.replace(/\bSimplified(-| )?BSD((-| )License)?/i,"BSD-2-Clause")},function(e){return e.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i,"BSD-2-Clause-$1BSD")},function(e){return e.replace(/\bClear(-| )?BSD((-| )License)?/i,"BSD-3-Clause-Clear")},function(e){return e.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i,"BSD-4-Clause")},function(e){return"CC-"+e},function(e){return"CC-"+e+"-4.0"},function(e){return e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")},function(e){return"CC-"+e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")+"-4.0"}],s=t.map(function(e){var t=/^(.*)-\d+\.\d+$/.exec(e);return t?[t[0],t[1]]:[e,null]}).reduce(function(e,t){var n=t[1];return e[n]=e[n]||[],e[n].push(t[0]),e},{}),a=Object.keys(s).map(function(e){return[e,s[e]]}).filter(function(e){return 1===e[1].length&&null!==e[0]&&"APL"!==e[0]}).map(function(e){return[e[0],e[1][0]]});s=void 0;var c=[["UNLI","Unlicense"],["WTF","WTFPL"],["2 CLAUSE","BSD-2-Clause"],["2-CLAUSE","BSD-2-Clause"],["3 CLAUSE","BSD-3-Clause"],["3-CLAUSE","BSD-3-Clause"],["AFFERO","AGPL-3.0-or-later"],["AGPL","AGPL-3.0-or-later"],["APACHE","Apache-2.0"],["ARTISTIC","Artistic-2.0"],["Affero","AGPL-3.0-or-later"],["BEER","Beerware"],["BOOST","BSL-1.0"],["BSD","BSD-2-Clause"],["CDDL","CDDL-1.1"],["ECLIPSE","EPL-1.0"],["FUCK","WTFPL"],["GNU","GPL-3.0-or-later"],["LGPL","LGPL-3.0-or-later"],["GPLV1","GPL-1.0-only"],["GPL-1","GPL-1.0-only"],["GPLV2","GPL-2.0-only"],["GPL-2","GPL-2.0-only"],["GPL","GPL-3.0-or-later"],["MIT +NO-FALSE-ATTRIBS","MITNFA"],["MIT","MIT"],["MPL","MPL-2.0"],["X11","X11"],["ZLIB","Zlib"]].concat(a).sort(r),l=function(e){for(var t=0;t<o.length;t++){var r=o[t](e).trim();if(r!==e&&n(r))return r}return null},u=function(e){for(var t=e.toUpperCase(),n=0;n<c.length;n++){var r=c[n];if(t.indexOf(r[0])>-1)return r[1]}return null},f=function(e,t){for(var n=0;n<i.length;n++){var r=i[n],o=r[0];if(e.indexOf(o)>-1){var s=t(e.replace(o,r[1]));if(null!==s)return s}}return null};return we=function(e,t){var r=void 0===(t=t||{}).upgrade||!!t.upgrade;function i(e){return r?function(e){return-1!==["GPL-1.0","LGPL-1.0","AGPL-1.0","GPL-2.0","LGPL-2.0","AGPL-2.0","LGPL-2.1"].indexOf(e)?e+"-only":-1!==["GPL-1.0+","GPL-2.0+","GPL-3.0+","LGPL-2.0+","LGPL-2.1+","LGPL-3.0+","AGPL-1.0+","AGPL-3.0+"].indexOf(e)?e.replace(/\+$/,"-or-later"):-1!==["GPL-3.0","LGPL-3.0","AGPL-3.0"].indexOf(e)?e+"-or-later":e}(e):e}if("string"!=typeof e||0===e.trim().length)throw Error("Invalid argument. Expected non-empty string.");if(n(e=e.trim()))return i(e);var o=e.replace(/\+$/,"").trim();if(n(o))return i(o);var s=l(e);return null!==s||null!==(s=f(e,function(e){return n(e)?e:l(e)}))||null!==(s=u(e))||null!==(s=f(e,u))?i(s):null}}(),n='license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"',r=/^SEE LICEN[CS]E IN (.+)$/;function i(e,t){return t.slice(0,e.length)===e}function o(e){if(e.hasOwnProperty("license")){var t=e.license;return i("LicenseRef",t)||i("DocumentRef",t)}return o(e.left)||o(e.right)}return Ie=function(i){var s;try{s=e(i)}catch(e){var a;if("UNLICENSED"===i||"UNLICENCED"===i)return{validForOldPackages:!0,validForNewPackages:!0,unlicensed:!0};if(a=r.exec(i))return{validForOldPackages:!0,validForNewPackages:!0,inFile:a[1]};var c={validForOldPackages:!1,validForNewPackages:!1,warnings:[n]};if(0!==i.trim().length){var l=t(i);l&&c.warnings.push('license is similar to the valid expression "'+l+'"')}return c}return o(s)?{validForNewPackages:!1,validForOldPackages:!1,spdx:!0,warnings:[n]}:{validForNewPackages:!0,validForOldPackages:!0,spdx:!0}}}var Re,$e,Te,xe,Ue,Fe,ke,Be,Me,Ge,je,He={};function ze(){if(Re)return He;Re=1;var e=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),t=e(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.tracing=e.metrics=void 0;var t={hasSubscribers:!1};e.metrics=t,e.tracing=t}),n=e(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultPerf=void 0,e.defaultPerf="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date});Object.defineProperty(He,"__esModule",{value:!0}),He.LRUCache=void 0;var r=t(),i=n(),o=()=>r.metrics.hasSubscribers||r.tracing.hasSubscribers,s=new Set,a="object"==typeof process&&process?process:{},c=e=>!!e&&e===Math.floor(e)&&e>0&&isFinite(e),l=e=>c(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(e){super(e),this.fill(0)}},f=class e{heap;length;static#e=!1;static create(t){let n=l(t);if(!n)return[];e.#e=!0;let r=new e(t,n);return e.#e=!1,r}constructor(t,n){if(!e.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new n(t),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},p=class e{#e;#t;#n;#r;#i;#o;#s;#a;get perf(){return this.#a}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;backgroundFetchSize;#c;#l;#u;#f;#p;#d;#h;#m;#g;#v;#y;#E;#b;#w;#L;#I;#S;#C;#_;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#w,autopurgeTimers:e.#L,sizes:e.#E,keyMap:e.#u,keyList:e.#f,valList:e.#p,next:e.#d,prev:e.#h,get head(){return e.#m},get tail(){return e.#g},free:e.#v,isBackgroundFetch:t=>e.#D(t),backgroundFetch:(t,n,r,i)=>e.#P(t,n,r,i),moveToTail:t=>e.#N(t),indexes:t=>e.#O(t),rindexes:t=>e.#A(t),isStale:t=>e.#R(t)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#l}get size(){return this.#c}get fetchMethod(){return this.#o}get memoMethod(){return this.#s}get dispose(){return this.#n}get onInsert(){return this.#r}get disposeAfter(){return this.#i}constructor(t){let{max:n=0,ttl:r,ttlResolution:o=1,ttlAutopurge:u,updateAgeOnGet:p,updateAgeOnHas:d,allowStale:h,dispose:m,onInsert:g,disposeAfter:v,noDisposeOnSet:y,noUpdateTTL:E,maxSize:b=0,maxEntrySize:w=0,sizeCalculation:L,fetchMethod:I,memoMethod:S,noDeleteOnFetchRejection:C,noDeleteOnStaleGet:_,allowStaleOnFetchRejection:D,allowStaleOnFetchAbort:P,ignoreFetchAbort:N,backgroundFetchSize:O=1,perf:A}=t;if(this.backgroundFetchSize=O,void 0!==A&&"function"!=typeof A?.now)throw new TypeError("perf option must have a now() method if specified");if(this.#a=A??i.defaultPerf,0!==n&&!c(n))throw new TypeError("max option must be a nonnegative integer");let R=n?l(n):Array;if(!R)throw new Error("invalid max value: "+n);if(this.#e=n,this.#t=b,this.maxEntrySize=w||this.#t,this.sizeCalculation=L,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw new TypeError("sizeCalculation set to non-function")}if(void 0!==S&&"function"!=typeof S)throw new TypeError("memoMethod must be a function if defined");if(this.#s=S,void 0!==I&&"function"!=typeof I)throw new TypeError("fetchMethod must be a function if specified");if(this.#o=I,this.#S=!!I,this.#u=new Map,this.#f=Array.from({length:n}).fill(void 0),this.#p=Array.from({length:n}).fill(void 0),this.#d=new R(n),this.#h=new R(n),this.#m=0,this.#g=0,this.#v=f.create(n),this.#c=0,this.#l=0,"function"==typeof m&&(this.#n=m),"function"==typeof g&&(this.#r=g),"function"==typeof v?(this.#i=v,this.#y=[]):(this.#i=void 0,this.#y=void 0),this.#I=!!this.#n,this.#_=!!this.#r,this.#C=!!this.#i,this.noDisposeOnSet=!!y,this.noUpdateTTL=!!E,this.noDeleteOnFetchRejection=!!C,this.allowStaleOnFetchRejection=!!D,this.allowStaleOnFetchAbort=!!P,this.ignoreFetchAbort=!!N,0!==this.maxEntrySize){if(0!==this.#t&&!c(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!c(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#$()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!_,this.updateAgeOnGet=!!p,this.updateAgeOnHas=!!d,this.ttlResolution=c(o)||0===o?o:1,this.ttlAutopurge=!!u,this.ttl=r||0,this.ttl){if(!c(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#T()}if(0===this.#e&&0===this.ttl&&0===this.#t)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#e&&!this.#t){let t="LRU_CACHE_UNBOUNDED";(e=>!s.has(e))(t)&&(s.add(t),((e,t,n,r)=>{"function"==typeof a.emitWarning?a.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)})("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",t,e))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#T(){let e=new u(this.#e),t=new u(this.#e);this.#w=e,this.#b=t;let n=this.ttlAutopurge?Array.from({length:this.#e}):void 0;this.#L=n,this.#x=(n,i,o=this.#a.now())=>{t[n]=0!==i?o:0,e[n]=i,r(n,i)},this.#U=n=>{t[n]=0!==e[n]?this.#a.now():0,r(n,e[n])};let r=this.ttlAutopurge?(e,t)=>{if(n?.[e]&&(clearTimeout(n[e]),n[e]=void 0),t&&0!==t&&n){let i=setTimeout(()=>{this.#R(e)?(this.#F(this.#f[e],"expire"),n[e]=void 0):r(e,s(e))},t+1);i.unref&&i.unref(),n[e]=i}}:()=>{};this.#k=(n,r)=>{if(e[r]){let s=e[r],a=t[r];if(!s||!a)return;n.ttl=s,n.start=a,n.now=i||o();let c=n.now-a;n.remainingTTL=s-c}};let i=0,o=()=>{let e=this.#a.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=e=>{let t=this.#u.get(e);return void 0===t?0:s(t)};let s=n=>{let r=e[n],s=t[n];return r&&s?r-((i||o())-s):1/0};this.#R=n=>{let r=t[n],s=e[n];return!!s&&!!r&&(i||o())-r>s}}#U=()=>{};#k=()=>{};#x=()=>{};#R=()=>!1;#$(){let e=new u(this.#e);this.#l=0,this.#E=e,this.#B=t=>{this.#l-=e[t],e[t]=0},this.#M=(e,t,n,r)=>{if(!c(n)){if(this.#D(t))return this.backgroundFetchSize;if(!r)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if("function"!=typeof r)throw new TypeError("sizeCalculation must be a function");if(n=r(t,e),!c(n))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return n},this.#G=(t,n,r)=>{if(e[t]=n,this.#t){let n=this.#t-e[t];for(;this.#l>n;)this.#j(!0)}this.#l+=e[t],r&&(r.entrySize=n,r.totalCalculatedSize=this.#l)}}#B=e=>{};#G=(e,t,n)=>{};#M=(e,t,n,r)=>{if(n||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#O({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#g;this.#H(t)&&((e||!this.#R(t))&&(yield t),t!==this.#m);)t=this.#h[t]}*#A({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#m;this.#H(t)&&((e||!this.#R(t))&&(yield t),t!==this.#g);)t=this.#d[t]}#H(e){return void 0!==e&&this.#u.get(this.#f[e])===e}*entries(){for(let e of this.#O())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*rentries(){for(let e of this.#A())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*keys(){for(let e of this.#O()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*rkeys(){for(let e of this.#A()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*values(){for(let e of this.#O())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}*rvalues(){for(let e of this.#A())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(let n of this.#O()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0!==i&&e(i,this.#f[n],this))return this.#z(this.#f[n],t)}}forEach(e,t=this){for(let n of this.#O()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}rforEach(e,t=this){for(let n of this.#A()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}purgeStale(){let e=!1;for(let t of this.#A({allowStale:!0}))this.#R(t)&&(this.#F(this.#f[t],"expire"),e=!0);return e}info(e){let t=this.#u.get(e);if(void 0===t)return;let n=this.#p[t],r=this.#D(n)?n.__staleWhileFetching:n;if(void 0===r)return;let i={value:r};if(this.#w&&this.#b){let e=this.#w[t],n=this.#b[t];if(e&&n){let t=e-(this.#a.now()-n);i.ttl=t,i.start=Date.now()}}return this.#E&&(i.size=this.#E[t]),i}dump(){let e=[];for(let t of this.#O({allowStale:!0})){let n=this.#f[t],r=this.#p[t],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0===i||void 0===n)continue;let o={value:i};if(this.#w&&this.#b){o.ttl=this.#w[t];let e=this.#a.now()-this.#b[t];o.start=Math.floor(Date.now()-e)}this.#E&&(o.size=this.#E[t]),e.unshift([n,o])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let e=Date.now()-n.start;n.start=this.#a.now()-e}this.#q(t,n.value,n)}}set(e,t,n={}){let{status:i=(r.metrics.hasSubscribers?{}:void 0)}=n;n.status=i,i&&(i.op="set",i.key=e,void 0!==t&&(i.value=t),i.cache=this);let o=this.#q(e,t,n);return i&&r.metrics.hasSubscribers&&r.metrics.publish(i),o}#q(e,t,n,r){let{ttl:i=this.ttl,start:o,noDisposeOnSet:s=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:c}=n,l=this.#D(t);if(void 0===t)return c&&(c.set="deleted"),this.delete(e),this;let{noUpdateTTL:u=this.noUpdateTTL}=n;c&&!l&&(c.value=t);let f=this.#M(e,t,n.size||0,a,c);if(this.maxEntrySize&&f>this.maxEntrySize)return this.#F(e,"set"),c&&(c.set="miss",c.maxEntrySizeExceeded=!0),this;let p=0===this.#c?void 0:this.#u.get(e);if(void 0===p)p=0===this.#c?this.#g:0!==this.#v.length?this.#v.pop():this.#c===this.#e?this.#j(!1):this.#c,this.#f[p]=e,this.#p[p]=t,this.#u.set(e,p),this.#d[this.#g]=p,this.#h[p]=this.#g,this.#g=p,this.#c++,this.#G(p,f,c),c&&(c.set="add"),u=!1,this.#_&&!l&&this.#r?.(t,e,"add");else{this.#N(p);let n=this.#p[p];if(t!==n){if(!s)if(this.#D(n)){n!==r&&n.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:i}=n;void 0!==i&&i!==t&&(this.#I&&this.#n?.(i,e,"set"),this.#C&&this.#y?.push([i,e,"set"]))}else this.#I&&this.#n?.(n,e,"set"),this.#C&&this.#y?.push([n,e,"set"]);if(this.#B(p),this.#G(p,f,c),this.#p[p]=t,!l){let r=n&&this.#D(n)?n.__staleWhileFetching:n,i=void 0===r?"add":t!==r?"replace":"update";c&&(c.set=i,void 0!==r&&(c.oldValue=r)),this.#_&&this.onInsert?.(t,e,i)}}else l||(c&&(c.set="update"),this.#_&&this.onInsert?.(t,e,"update"))}if(0!==i&&!this.#w&&this.#T(),this.#w&&(u||this.#x(p,i,o),c&&this.#k(c,p)),!s&&this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return this}pop(){try{for(;this.#c;){let e=this.#p[this.#m];if(this.#j(!0),this.#D(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(void 0!==e)return e}}finally{if(this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}}#j(e){let t=this.#m,n=this.#f[t],r=this.#p[t],i=this.#D(r);i&&r.__abortController.abort(new Error("evicted"));let o=i?r.__staleWhileFetching:r;return(this.#I||this.#C)&&void 0!==o&&(this.#I&&this.#n?.(o,n,"evict"),this.#C&&this.#y?.push([o,n,"evict"])),this.#B(t),this.#L?.[t]&&(clearTimeout(this.#L[t]),this.#L[t]=void 0),e&&(this.#f[t]=void 0,this.#p[t]=void 0,this.#v.push(t)),1===this.#c?(this.#m=this.#g=0,this.#v.length=0):this.#m=this.#d[t],this.#u.delete(n),this.#c--,t}has(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="has",n.key=e,n.cache=this);let i=this.#V(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),i}#V(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:r}=t,i=this.#u.get(e);if(void 0!==i){let e=this.#p[i];if(this.#D(e)&&void 0===e.__staleWhileFetching)return!1;if(!this.#R(i))return n&&this.#U(i),r&&(r.has="hit",this.#k(r,i)),!0;r&&(r.has="stale",this.#k(r,i))}else r&&(r.has="miss");return!1}peek(e,t={}){let{status:n=(o()?{}:void 0)}=t;n&&(n.op="peek",n.key=e,n.cache=this),t.status=n;let i=this.#W(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),i}#W(e,t){let{status:n,allowStale:r=this.allowStale}=t,i=this.#u.get(e);if(void 0===i||!r&&this.#R(i))return void(n&&(n.peek=void 0===i?"miss":"stale"));let o=this.#p[i],s=this.#D(o)?o.__staleWhileFetching:o;return n&&(void 0!==s?(n.peek="hit",n.value=s):n.peek="miss"),s}#P(e,t,n,r){let i=void 0===t?void 0:this.#p[t];if(this.#D(i))return i;let o=new AbortController,{signal:s}=n;s?.addEventListener("abort",()=>o.abort(s.reason),{signal:o.signal});let a={signal:o.signal,options:n,context:r},c=(r,i=!1)=>{let{aborted:s}=o.signal,c=n.ignoreFetchAbort&&void 0!==r,f=n.ignoreFetchAbort||!(!n.allowStaleOnFetchAbort||void 0===r);if(n.status&&(s&&!i?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,c&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),s&&!c&&!i)return l(o.signal.reason,f);let p=u,d=this.#p[t];return(d===u||void 0===d&&c&&i)&&(void 0===r?void 0!==p.__staleWhileFetching?this.#p[t]=p.__staleWhileFetching:this.#F(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.#q(e,r,a.options,p))),r},l=(r,i)=>{let{aborted:s}=o.signal,a=s&&n.allowStaleOnFetchAbort,c=a||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,f=u;if(this.#p[t]===u&&(!l||!i&&void 0===f.__staleWhileFetching?this.#F(e,"fetch"):a||(this.#p[t]=f.__staleWhileFetching)),c)return n.status&&void 0!==f.__staleWhileFetching&&(n.status.returnedStale=!0),f.__staleWhileFetching;if(f.__returned===f)throw r};n.status&&(n.status.fetchDispatched=!0);let u=new Promise((t,r)=>{let s=this.#o?.(e,i,a);o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>c(e,!0)))}),s&&s instanceof Promise?s.then(e=>t(void 0===e?void 0:e),r):void 0!==s&&t(s)}).then(c,e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),l(e,!1))),f=Object.assign(u,{__abortController:o,__staleWhileFetching:i,__returned:void 0});return void 0===t?(this.#q(e,f,{...a.options,status:void 0}),t=this.#u.get(e)):this.#p[t]=f,f}#D(e){if(!this.#S)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof AbortController}fetch(e,t={}){let n=r.tracing.hasSubscribers,{status:i=(o()?{}:void 0)}=t;t.status=i,i&&t.context&&(i.context=t.context);let s=this.#Z(e,t);return i&&n&&(i.trace=!0,r.tracing.tracePromise(()=>s,i).catch(()=>{})),s}async#Z(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:s=this.noDisposeOnSet,size:a=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:l=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:f=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:d=this.allowStaleOnFetchAbort,context:h,forceRefresh:m=!1,status:g,signal:v}=t;if(g&&(g.op="fetch",g.key=e,m&&(g.forceRefresh=!0),g.cache=this),!this.#S)return g&&(g.fetch="get"),this.#z(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:g});let y={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:o,noDisposeOnSet:s,size:a,sizeCalculation:c,noUpdateTTL:l,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:f,allowStaleOnFetchAbort:d,ignoreFetchAbort:p,status:g,signal:v},E=this.#u.get(e);if(void 0===E){g&&(g.fetch="miss");let t=this.#P(e,E,y,h);return t.__returned=t}{let t=this.#p[E];if(this.#D(t)){let e=n&&void 0!==t.__staleWhileFetching;return g&&(g.fetch="inflight",e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let i=this.#R(E);if(!m&&!i)return g&&(g.fetch="hit"),this.#N(E),r&&this.#U(E),g&&this.#k(g,E),t;let o=this.#P(e,E,y,h),s=void 0!==o.__staleWhileFetching&&n;return g&&(g.fetch=i?"stale":"refresh",s&&i&&(g.returnedStale=!0)),s?o.__staleWhileFetching:o.__returned=o}}forceFetch(e,t={}){let n=r.tracing.hasSubscribers,{status:i=(o()?{}:void 0)}=t;t.status=i,i&&t.context&&(i.context=t.context);let s=this.#K(e,t);return i&&n&&(i.trace=!0,r.tracing.tracePromise(()=>s,i).catch(()=>{})),s}async#K(e,t={}){let n=await this.#Z(e,t);if(void 0===n)throw new Error("fetch() returned undefined");return n}memo(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="memo",n.key=e,t.context&&(n.context=t.context),n.cache=this);let i=this.#Y(e,t);return n&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n),i}#Y(e,t={}){let n=this.#s;if(!n)throw new Error("no memoMethod provided to constructor");let{context:r,status:i,forceRefresh:o,...s}=t;i&&o&&(i.forceRefresh=!0);let a=this.#z(e,s),c=o||void 0===a;if(i&&(i.memo=c?"miss":"hit",c||(i.value=a)),!c)return a;let l=n(e,a,{options:s,context:r});return i&&(i.value=l),this.#q(e,l,s),l}get(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="get",n.key=e,n.cache=this);let i=this.#z(e,t);return n&&(void 0!==i&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n)),i}#z(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:o}=t,s=this.#u.get(e);if(void 0===s)return void(o&&(o.get="miss"));let a=this.#p[s],c=this.#D(a);return o&&this.#k(o,s),this.#R(s)?c?(o&&(o.get="stale-fetching"),n&&void 0!==a.__staleWhileFetching?(o&&(o.returnedStale=!0),a.__staleWhileFetching):void 0):(i||this.#F(e,"expire"),o&&(o.get="stale"),n?(o&&(o.returnedStale=!0),a):void 0):(o&&(o.get=c?"fetching":"hit"),this.#N(s),r&&this.#U(s),c?a.__staleWhileFetching:a)}#X(e,t){this.#h[t]=e,this.#d[e]=t}#N(e){e!==this.#g&&(e===this.#m?this.#m=this.#d[e]:this.#X(this.#h[e],this.#d[e]),this.#X(this.#g,e),this.#g=e)}delete(e){return this.#F(e,"delete")}#F(e,t){r.metrics.hasSubscribers&&r.metrics.publish({op:"delete",delete:t,key:e,cache:this});let n=!1;if(0!==this.#c){let r=this.#u.get(e);if(void 0!==r)if(this.#L?.[r]&&(clearTimeout(this.#L[r]),this.#L[r]=void 0),n=!0,1===this.#c)this.#J(t);else{this.#B(r);let n=this.#p[r];if(this.#D(n)?n.__abortController.abort(new Error("deleted")):(this.#I||this.#C)&&(this.#I&&this.#n?.(n,e,t),this.#C&&this.#y?.push([n,e,t])),this.#u.delete(e),this.#f[r]=void 0,this.#p[r]=void 0,r===this.#g)this.#g=this.#h[r];else if(r===this.#m)this.#m=this.#d[r];else{let e=this.#h[r];this.#d[e]=this.#d[r];let t=this.#d[r];this.#h[t]=this.#h[r]}this.#c--,this.#v.push(r)}}if(this.#C&&this.#y?.length){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return n}clear(){return this.#J("delete")}#J(e){for(let t of this.#A({allowStale:!0})){let n=this.#p[t];if(this.#D(n))n.__abortController.abort(new Error("deleted"));else{let r=this.#f[t];this.#I&&this.#n?.(n,r,e),this.#C&&this.#y?.push([n,r,e])}}if(this.#u.clear(),this.#p.fill(void 0),this.#f.fill(void 0),this.#w&&this.#b){this.#w.fill(0),this.#b.fill(0);for(let e of this.#L??[])void 0!==e&&clearTimeout(e);this.#L?.fill(void 0)}if(this.#E&&this.#E.fill(0),this.#m=0,this.#g=0,this.#v.length=0,this.#l=0,this.#c=0,this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}};return He.LRUCache=p,He}function qe(){if(Ue)return xe;Ue=1;const e=(e,t,n)=>{const r=e.indexOf(n);return e.lastIndexOf(t,r>-1?r:1/0)},t=e=>{try{return new URL(e)}catch{}};return xe=(n,r)=>{const i=r?((e,t)=>{const n=e.indexOf(":"),r=e.slice(0,n+1);if(Object.prototype.hasOwnProperty.call(t,r))return e;if("://"===e.substr(n,3))return e;const i=e.indexOf("@");return i>-1?i>n?`git+ssh://${e}`:e:`${e.slice(0,n+1)}//${e.slice(n+1)}`})(n,r):n;return t(i)||t((t=>{const n=e(t,"@","#"),r=e(t,":","#");return r>n&&(t=t.slice(0,r)+"/"+t.slice(r+1)),-1===e(t,":","#")&&-1===t.indexOf("//")&&(t=`git+ssh://${t}`),t})(i))}}function Ve(){if(ke)return Fe;ke=1;const e=qe();return Fe=(t,n,{gitHosts:r,protocols:i})=>{if(!t)return;const o=(e=>{const t=e.indexOf("#"),n=e.indexOf("/"),r=e.indexOf("/",n+1),i=e.indexOf(":"),o=/\s/.exec(e),s=e.indexOf("@"),a=!o||t>-1&&o.index>t,c=-1===s||t>-1&&s>t,l=-1===i||t>-1&&i>t,u=-1===r||t>-1&&r>t,f=n>0,p=t>-1?"/"!==e[t-1]:!e.endsWith("/"),d=!e.startsWith(".");return a&&f&&p&&d&&c&&l&&u})(t)?`github:${t}`:t,s=e(o,i);if(!s)return;const a=r.byShortcut[s.protocol],c=r.byDomain[s.hostname.startsWith("www.")?s.hostname.slice(4):s.hostname],l=a||c;if(!l)return;const u=r[a||c];let f=null;i[s.protocol]?.auth&&(s.username||s.password)&&(f=`${s.username}${s.password?":"+s.password:""}`);let p=null,d=null,h=null,m=null;try{if(a){let e=s.pathname.startsWith("/")?s.pathname.slice(1):s.pathname;const t=e.indexOf("@");t>-1&&(e=e.slice(t+1));const n=e.lastIndexOf("/");n>-1?(d=decodeURIComponent(e.slice(0,n)),d||(d=null),h=decodeURIComponent(e.slice(n+1))):h=decodeURIComponent(e),h.endsWith(".git")&&(h=h.slice(0,-4)),s.hash&&(p=decodeURIComponent(s.hash.slice(1))),m="shortcut"}else{if(!u.protocols.includes(s.protocol))return;const e=u.extract(s);if(!e)return;d=e.user&&decodeURIComponent(e.user),h=decodeURIComponent(e.project),p=decodeURIComponent(e.committish),m=i[s.protocol]?.name||s.protocol.slice(0,-1)}}catch(e){if(e instanceof URIError)return;throw e}return[l,d,f,h,p,m,n]}}function We(){if(Me)return Be;Me=1;const{LRUCache:e}=ze(),t=function(){if(Te)return $e;Te=1;const e=(...e)=>e.every(e=>e)?e.join(""):"",t=e=>e?encodeURIComponent(e):"",n=e=>e.toLowerCase().replace(/^\W+/g,"").replace(/(?<!\W)\W+$/,"").replace(/\//g,"").replace(/\W+/g,"-"),r={sshtemplate:({domain:t,user:n,project:r,committish:i})=>`git@${t}:${n}/${r}.git${e("#",i)}`,sshurltemplate:({domain:t,user:n,project:r,committish:i})=>`git+ssh://git@${t}/${n}/${r}.git${e("#",i)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s,path:a})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a)}`,browsetemplate:({domain:n,user:r,project:i,committish:o,treepath:s})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o))}`,browsetreetemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,browseblobtemplate:({domain:n,user:r,project:i,committish:o,blobpath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,docstemplate:({domain:n,user:r,project:i,treepath:o,committish:s})=>`https://${n}/${r}/${i}${e("/",o,"/",t(s))}#readme`,httpstemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git+https://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/raw/${t(i||"HEAD")}/${o}`,shortcuttemplate:({type:t,user:n,project:r,committish:i})=>`${t}:${n}/${r}${e("#",i)}`,pathtemplate:({user:t,project:n,committish:r})=>`${t}/${n}${e("#",r)}`,bugstemplate:({domain:e,user:t,project:n})=>`https://${e}/${t}/${n}/issues`,hashformat:n},i={};i.github={protocols:["git:","http:","git+ssh:","git+https:","ssh:","https:"],domain:"github.com",treepath:"tree",blobpath:"blob",editpath:"edit",filetemplate:({auth:n,user:r,project:i,committish:o,path:s})=>`https://${e(n,"@")}raw.githubusercontent.com/${r}/${i}/${t(o||"HEAD")}/${s}`,gittemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://codeload.${e}/${n}/${r}/tar.gz/${t(i||"HEAD")}`,extract:e=>{let[,t,n,r,i]=e.pathname.split("/",5);if((!r||"tree"===r)&&(r||(i=e.hash.slice(1)),n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:i}}},i.bitbucket={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"bitbucket.org",treepath:"src",blobpath:"src",editpath:"?mode=edit",edittemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,editpath:c})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a,c)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/get/${t(i||"HEAD")}.tar.gz`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["get"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}},i.gitlab={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"gitlab.com",treepath:"tree",blobpath:"tree",editpath:"-/edit",tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/api/v4/projects/${t(n+"/"+r)}/repository/archive.tar.gz?sha=${t(i||"HEAD")}`,extract:e=>{const t=e.pathname.slice(1);if(t.includes("/-/")||t.includes("/archive.tar.gz"))return;const n=t.split("/");let r=n.pop();r.endsWith(".git")&&(r=r.slice(0,-4));const i=n.join("/");return i&&r?{user:i,project:r,committish:e.hash.slice(1)}:void 0}},i.gist={protocols:["git:","git+ssh:","git+https:","ssh:","https:"],domain:"gist.github.com",editpath:"edit",sshtemplate:({domain:t,project:n,committish:r})=>`git@${t}:${n}.git${e("#",r)}`,sshurltemplate:({domain:t,project:n,committish:r})=>`git+ssh://git@${t}/${n}.git${e("#",r)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s})=>`https://${n}/${r}/${i}${e("/",t(o))}/${s}`,browsetemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,browsetreetemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,browseblobtemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,docstemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,httpstemplate:({domain:t,project:n,committish:r})=>`git+https://${t}/${n}.git${e("#",r)}`,filetemplate:({user:n,project:r,committish:i,path:o})=>`https://gist.githubusercontent.com/${n}/${r}/raw${e("/",t(i))}/${o}`,shortcuttemplate:({type:t,project:n,committish:r})=>`${t}:${n}${e("#",r)}`,pathtemplate:({project:t,committish:n})=>`${t}${e("#",n)}`,bugstemplate:({domain:e,project:t})=>`https://${e}/${t}`,gittemplate:({domain:t,project:n,committish:r})=>`git://${t}/${n}.git${e("#",r)}`,tarballtemplate:({project:e,committish:n})=>`https://codeload.github.com/gist/${e}/tar.gz/${t(n||"HEAD")}`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if("raw"!==r){if(!n){if(!t)return;n=t,t=null}return n.endsWith(".git")&&(n=n.slice(0,-4)),{user:t,project:n,committish:e.hash.slice(1)}}},hashformat:function(e){return e&&"file-"+n(e)}},i.sourcehut={protocols:["git+ssh:","https:"],domain:"git.sr.ht",treepath:"tree",blobpath:"tree",filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/blob/${t(i)||"HEAD"}/${o}`,httpstemplate:({domain:t,user:n,project:r,committish:i})=>`https://${t}/${n}/${r}${e("#",i)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/archive/${t(i)||"HEAD"}.tar.gz`,bugstemplate:()=>null,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["archive"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}};for(const[e,t]of Object.entries(i))i[e]=Object.assign({},r,t);return $e=i}(),n=Ve(),r=qe(),i=new e({max:1e3});class o{constructor(e,t,n,r,i,s,a={}){Object.assign(this,o.#Q[e],{type:e,user:t,auth:n,project:r,committish:i,default:s,opts:a})}static#Q={byShortcut:{},byDomain:{}};static#ee={"git+ssh:":{name:"sshurl"},"ssh:":{name:"sshurl"},"git+https:":{name:"https",auth:!0},"git:":{auth:!0},"http:":{auth:!0},"https:":{auth:!0},"git+http:":{auth:!0}};static addHost(e,t){o.#Q[e]=t,o.#Q.byDomain[t.domain]=e,o.#Q.byShortcut[`${e}:`]=e,o.#ee[`${e}:`]={name:e}}static fromUrl(e,t){if("string"!=typeof e)return;const r=e+JSON.stringify(t||{});if(!i.has(r)){const s=n(e,t,{gitHosts:o.#Q,protocols:o.#ee});i.set(r,s?new o(...s):void 0)}return i.get(r)}static fromManifest(e,t={}){if(!e||"object"!=typeof e)return;const n=e.repository,r=n&&("string"==typeof n?n:"object"==typeof n&&"string"==typeof n.url?n.url:null);if(!r)throw new Error("no repository");const i=r&&o.fromUrl(r.replace(/^git\+/,""),t)||null;if(i)return i;const s=function(e){try{const{protocol:t,hostname:n,pathname:r}=new URL(e);if(!n)return null;return`${/(?:git\+)http:$/.test(t)?"http:":"https:"}//${n}${r.replace(/\.git$/,"")}`}catch{return null}}(r);return o.fromUrl(s,t)||s}static parseUrl(e){return r(e)}#te(e,t){if("function"!=typeof e)return null;const n={...this,...this.opts,...t};n.path||(n.path=""),n.path.startsWith("/")&&(n.path=n.path.slice(1)),n.noCommittish&&(n.committish=null);const r=e(n);return n.noGitPlus&&r.startsWith("git+")?r.slice(4):r}hash(){return this.committish?`#${this.committish}`:""}ssh(e){return this.#te(this.sshtemplate,e)}sshurl(e){return this.#te(this.sshurltemplate,e)}browse(e,...t){return"string"!=typeof e?this.#te(this.browsetemplate,e):"string"!=typeof t[0]?this.#te(this.browsetreetemplate,{...t[0],path:e}):this.#te(this.browsetreetemplate,{...t[1],fragment:t[0],path:e})}browseFile(e,...t){return"string"!=typeof t[0]?this.#te(this.browseblobtemplate,{...t[0],path:e}):this.#te(this.browseblobtemplate,{...t[1],fragment:t[0],path:e})}docs(e){return this.#te(this.docstemplate,e)}bugs(e){return this.#te(this.bugstemplate,e)}https(e){return this.#te(this.httpstemplate,e)}git(e){return this.#te(this.gittemplate,e)}shortcut(e){return this.#te(this.shortcuttemplate,e)}path(e){return this.#te(this.pathtemplate,e)}tarball(e){return this.#te(this.tarballtemplate,{...e,noCommittish:!1})}file(e,t){return this.#te(this.filetemplate,{...t,path:e})}edit(e,t){return this.#te(this.edittemplate,{...t,path:e})}getDefaultRepresentation(){return this.default}toString(e){return this.default&&"function"==typeof this[this.default]?this[this.default](e):this.sshurl(e)}}for(const[e,n]of Object.entries(t))o.addHost(e,n);return Be=o}var Ze,Ke,Ye={topLevel:{dependancies:"dependencies",dependecies:"dependencies",depdenencies:"dependencies",devEependencies:"devDependencies",depends:"dependencies","dev-dependencies":"devDependencies",devDependences:"devDependencies",devDepenencies:"devDependencies",devdependencies:"devDependencies",repostitory:"repository",repo:"repository",prefereGlobal:"preferGlobal",hompage:"homepage",hampage:"homepage",autohr:"author",autor:"author",contributers:"contributors",publicationConfig:"publishConfig",script:"scripts"},bugs:{web:"url",name:"url"},script:{server:"start",tests:"test"}};function Xe(){if(Ke)return Ze;Ke=1;var{URL:e}=p,t=function(){if(ce)return ae;ce=1;const e=he();return ae=(t,n)=>{const r=e(t,n);return r?r.version:null},ae}(),n=function(){if(ue)return le;ue=1;const e=he();return le=(t,n)=>{const r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},le}(),r=Ae(),i=We(),{isBuiltin:o}=h,s=["dependencies","devDependencies","optionalDependencies"],a=je?Ge:(je=1,Ge=function(e){if(!e)return;if("ERROR: No README data found!"===e)return;e=e.trim().split("\n");let t=0;for(;e[t]&&e[t].trim().match(/^(#|$)/);)t++;const n=e.length;let r=t+1;for(;r<n&&e[r].trim();)r++;return e.slice(t,r).join(" ").trim()}),c=Ye,l=e=>e.includes("@")&&e.indexOf("@")<e.lastIndexOf(".");function u(e,t){return e.author&&(e.author=t(e.author)),["maintainers","contributors"].forEach(function(n){Array.isArray(e[n])&&(e[n]=e[n].map(t))}),e}function f(e){if("string"==typeof e)return e;var t=e.name||"",n=e.url||e.web,r=n?" ("+n+")":"",i=e.email||e.mail;return t+(i?" <"+i+">":"")+r}function d(e){if("string"!=typeof e)return e;var t=e.match(/^([^(<]+)/),n=e.match(/\(([^()]+)\)/),r=e.match(/<([^<>]+)>/),i={};return t&&t[0].trim()&&(i.name=t[0].trim()),r&&(i.email=r[1]),n&&(i.url=n[1]),i}return Ze={warn:function(){},fixRepositoryField:function(e){if(e.repositories&&(this.warn("repositories"),e.repository=e.repositories[0]),!e.repository)return this.warn("missingRepository");"string"==typeof e.repository&&(e.repository={type:"git",url:e.repository});var t=e.repository.url||"";if(t){var n=i.fromUrl(t);n&&(t=e.repository.url="shortcut"===n.getDefaultRepresentation()?n.https():n.toString())}t.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)&&this.warn("brokenGitUrl",t)},fixTypos:function(e){Object.keys(c.topLevel).forEach(function(t){Object.prototype.hasOwnProperty.call(e,t)&&this.warn("typo",t,c.topLevel[t])},this)},fixScriptsField:function(e){if(e.scripts)return"object"!=typeof e.scripts?(this.warn("nonObjectScripts"),void delete e.scripts):void Object.keys(e.scripts).forEach(function(t){"string"!=typeof e.scripts[t]?(this.warn("nonStringScript"),delete e.scripts[t]):c.script[t]&&!e.scripts[c.script[t]]&&this.warn("typo",t,c.script[t],"scripts")},this)},fixFilesField:function(e){var t=e.files;t&&!Array.isArray(t)?(this.warn("nonArrayFiles"),delete e.files):e.files&&(e.files=e.files.filter(function(e){return!(!e||"string"!=typeof e)||(this.warn("invalidFilename",e),!1)},this))},fixBinField:function(e){if(e.bin&&"string"==typeof e.bin){var t,n={};(t=e.name.match(/^@[^/]+[/](.*)$/))?n[t[1]]=e.bin:n[e.name]=e.bin,e.bin=n}},fixManField:function(e){e.man&&"string"==typeof e.man&&(e.man=[e.man])},fixBundleDependenciesField:function(e){var t="bundledDependencies",n="bundleDependencies";e[t]&&!e[n]&&(e[n]=e[t],delete e[t]),e[n]&&!Array.isArray(e[n])?(this.warn("nonArrayBundleDependencies"),delete e[n]):e[n]&&(e[n]=e[n].filter(function(t){return t&&"string"==typeof t?(e.dependencies||(e.dependencies={}),Object.prototype.hasOwnProperty.call(e.dependencies,t)||(this.warn("nonDependencyBundleDependency",t),e.dependencies[t]="*"),!0):(this.warn("nonStringBundleDependency",t),!1)},this))},fixDependencies:function(e){!function(e,t){s.forEach(function(n){e[n]&&(e[n]=function(e,t,n){if(!e)return{};"string"==typeof e&&(e=e.trim().split(/[\n\r\s\t ,]+/));if(!Array.isArray(e))return e;n("deprecatedArrayDependencies",t);var r={};return e.filter(function(e){return"string"==typeof e}).forEach(function(e){var t=(e=e.trim().split(/(:?[@\s><=])/)).shift(),n=e.join("");n=(n=n.trim()).replace(/^@/,""),r[t]=n}),r}(e[n],n,t))})}(e,this.warn),function(e){var t=e.optionalDependencies;if(!t)return;var n=e.dependencies||{};Object.keys(t).forEach(function(e){n[e]=t[e]}),e.dependencies=n}(e,this.warn),this.fixBundleDependenciesField(e),["dependencies","devDependencies"].forEach(function(t){if(t in e)return e[t]&&"object"==typeof e[t]?void Object.keys(e[t]).forEach(function(n){var r=e[t][n];"string"!=typeof r&&(this.warn("nonStringDependency",n,JSON.stringify(r)),delete e[t][n]);var o=i.fromUrl(e[t][n]);o&&(e[t][n]=o.toString())},this):(this.warn("nonObjectDependencies",t),void delete e[t])},this)},fixModulesField:function(e){e.modules&&(this.warn("deprecatedModules"),delete e.modules)},fixKeywordsField:function(e){"string"==typeof e.keywords&&(e.keywords=e.keywords.split(/,\s+/)),e.keywords&&!Array.isArray(e.keywords)?(delete e.keywords,this.warn("nonArrayKeywords")):e.keywords&&(e.keywords=e.keywords.filter(function(e){return!("string"!=typeof e||!e)||(this.warn("nonStringKeyword"),!1)},this))},fixVersionField:function(e,r){var i=!r;if(!e.version)return e.version="",!0;if(!t(e.version,i))throw new Error('Invalid version: "'+e.version+'"');return e.version=n(e.version,i),!0},fixPeople:function(e){u(e,f),u(e,d)},fixNameField:function(e,t){"boolean"==typeof t?t={strict:t}:void 0===t&&(t={});var n=t.strict;if(e.name||n){if("string"!=typeof e.name)throw new Error("name field must be a string.");n||(e.name=e.name.trim()),function(e,t,n){if("."===e.charAt(0)||!function(e){if("@"!==e.charAt(0))return!1;var t=e.slice(1).split("/");if(2!==t.length)return!1;return t[0]&&t[1]&&t[0]===encodeURIComponent(t[0])&&t[1]===encodeURIComponent(t[1])}(e)&&(r=e,r.match(/[/@\s+%:]/)||r!==encodeURIComponent(r))||t&&!n&&e!==e.toLowerCase()||"node_modules"===e.toLowerCase()||"favicon.ico"===e.toLowerCase())throw new Error("Invalid name: "+JSON.stringify(e));var r}(e.name,n,t.allowLegacyCase),o(e.name)&&this.warn("conflictingName",e.name)}else e.name=""},fixDescriptionField:function(e){e.description&&"string"!=typeof e.description&&(this.warn("nonStringDescription"),delete e.description),e.readme&&!e.description&&(e.description=a(e.readme)),void 0===e.description&&delete e.description,e.description||this.warn("missingDescription")},fixReadmeField:function(e){e.readme||(this.warn("missingReadme"),e.readme="ERROR: No README data found!")},fixBugsField:function(t){if(!t.bugs&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.bugs()&&(t.bugs={url:n.bugs()})}else if(t.bugs){if("string"==typeof t.bugs)l(t.bugs)?t.bugs={email:t.bugs}:e.canParse(t.bugs)?t.bugs={url:t.bugs}:this.warn("nonEmailUrlBugsString");else{!function(e,t){if(!e)return;Object.keys(e).forEach(function(n){c.bugs[n]&&(t("typo",n,c.bugs[n],"bugs"),e[c.bugs[n]]=e[n],delete e[n])})}(t.bugs,this.warn);var r=t.bugs;t.bugs={},r.url&&(e.canParse(r.url)?t.bugs.url=r.url:this.warn("nonUrlBugsUrlField")),r.email&&("string"==typeof r.email&&l(r.email)?t.bugs.email=r.email:this.warn("nonEmailBugsEmailField"))}t.bugs.email||t.bugs.url||(delete t.bugs,this.warn("emptyNormalizedBugs"))}},fixHomepageField:function(t){if(!t.homepage&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.docs()&&(t.homepage=n.docs())}if(t.homepage)return"string"!=typeof t.homepage?(this.warn("nonUrlHomepage"),delete t.homepage):void(e.canParse(t.homepage)||(t.homepage="http://"+t.homepage))},fixLicenseField:function(e){const t=e.license||e.licence;return t?"string"!=typeof t||t.length<1||""===t.trim()?this.warn("invalidLicense"):r(t).validForNewPackages?void 0:this.warn("invalidLicense"):this.warn("missingLicense")}},Ze}var Je,Qe,et,tt,nt={repositories:"'repositories' (plural) Not supported. Please pick one as the 'repository' field",missingRepository:"No repository field.",brokenGitUrl:"Probably broken git url: %s",nonObjectScripts:"scripts must be an object",nonStringScript:"script values must be string commands",nonArrayFiles:"Invalid 'files' member",invalidFilename:"Invalid filename in 'files' list: %s",nonArrayBundleDependencies:"Invalid 'bundleDependencies' list. Must be array of package names",nonStringBundleDependency:"Invalid bundleDependencies member: %s",nonDependencyBundleDependency:"Non-dependency in bundleDependencies: %s",nonObjectDependencies:"%s field must be an object",nonStringDependency:"Invalid dependency: %s %s",deprecatedArrayDependencies:"specifying %s as array is deprecated",deprecatedModules:"modules field is deprecated",nonArrayKeywords:"keywords should be an array of strings",nonStringKeyword:"keywords should be an array of strings",conflictingName:"%s is also the name of a node core module.",nonStringDescription:"'description' field should be a string",missingDescription:"No description",missingReadme:"No README data",missingLicense:"No license field.",nonEmailUrlBugsString:"Bug string field must be url, email, or {email,url}",nonUrlBugsUrlField:"bugs.url field must be a string url. Deleted.",nonEmailBugsEmailField:"bugs.email field must be a string email. Deleted.",emptyNormalizedBugs:"Normalized value of bugs field is an empty object. Deleted.",nonUrlHomepage:"homepage field must be a string url. Deleted.",invalidLicense:"license should be a valid SPDX license expression",typo:"%s should probably be %s."};function rt(){if(Qe)return Je;Qe=1;var e=m,t=nt;function n(n,r,i){return i&&(n=i+"['"+n+"']",r=i+"['"+r+"']"),e.format(t.typo,n,r)}return Je=function(){var r=Array.prototype.slice.call(arguments,0),i=r.shift();if("typo"===i)return n.apply(null,r);var o=t[i]?t[i]:i+": '%s'";return r.unshift(o),e.format.apply(null,r)},Je}var it=function(){if(tt)return et;tt=1,et=r;var e=Xe();r.fixer=e;var t=rt(),n=["name","version","description","repository","modules","scripts","files","bin","man","bugs","keywords","readme","homepage","license"].map(function(e){return i(e)+"Field"});function r(r,o,s){!0===o&&(o=null,s=!0),s||(s=!1),o&&!r.private||(o=function(){}),r.scripts&&"node-gyp rebuild"===r.scripts.install&&!r.scripts.preinstall&&(r.gypfile=!0),e.warn=function(){o(t.apply(null,arguments))},n.forEach(function(t){e["fix"+i(t)](r,s)}),r._id=r.name+"@"+r.version}function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}return n=n.concat(["dependencies","people","typos"]),et}(),ot=q(it);const st=(e,t)=>{try{return g(e,v.F_OK),!0}catch(e){return!1}},at=["index.ts","index.tsx","main.ts","main.tsx"],ct=(e,t,n)=>{const r=a(e??process.cwd(),"src"),i=at,o=i.map(e=>a(r,e)).find(e=>st(e));if(!o)throw new Error(`Unable to resolve entry point, ensure ${i.join(", ")} exists in ${r}`);return o},lt=(e,t)=>C(e,t,{arrayMerge:(e,t)=>{const n=t[0]??e[0];return"object"==typeof n&&"match"in n&&"middleware"in n?((e,t,n)=>{const r=n.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),i={...t.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),...r};return Object.values(i)})("match",e,t):[...new Set([...e,...t])]}}),ut=async(n,r)=>{const{packageJson:i,root:a}=r,{config:u}=await e(n)??{},f=i.main??i.module??"./dist/bundle.js",p=ct(a);if("build"===n.command){if(s(f)===a)throw new Error("outDir cannot be root, please specify package.main or package.module in package.json");if("src"===s(f))throw new Error("outDir cannot be src, please specify package.main or package.module in package.json");if(s(f)===process.cwd())throw new Error("outDir cannot be the current working directory, please specify package.main or package.module in package.json")}return t({root:a,plugins:[o(),_({debug:!0}),D({extensions:[".md"]})],define:{"process.env.NODE_ENV":JSON.stringify(n.mode),"process.env.NODE_DEBUG":"production"!==n.mode,"process.env.FUSION_LOG_LEVEL":"production"===n.mode?1:3},build:{outDir:s(f),lib:{entry:p,fileName:c(f,l(f)),formats:["es"]},emptyOutDir:!0}},u??{})};function ft(e,t){P("object"==typeof e,new Error(t))}const pt=e=>{if(e.repository)return"string"==typeof e.repository?e.repository:e.repository.url},dt=()=>{try{return N("git remote get-url origin").toString().trim().replace("git@github.com:","https://github.com/").replace(/\.git$/,"")}catch(e){return}},ht=(e="HEAD")=>{try{return N(`git rev-parse ${e}`).toString().trim()}catch(e){return}},mt=()=>{try{return N("git branch --show-current").toString().trim()||void 0}catch{return}},gt="15.6.2",vt=e=>{if(e?.startsWith("refs/heads/"))return e.slice(11)||void 0},yt=()=>{const e={cliVersion:gt,source:"local",reason:"manual"};if("true"===process.env.GITHUB_ACTIONS){const t=(()=>{const e=process.env.GITHUB_EVENT_NAME||"unknown",t=process.env.GITHUB_ACTOR||"unknown",n=process.env.GITHUB_RUN_ID||"unknown",r=process.env.GITHUB_REPOSITORY||"unknown",i=process.env.GITHUB_WORKFLOW||"unknown",o=process.env.GITHUB_SERVER_URL||"https://github.com";let s="unknown";"unknown"!==r&&"unknown"!==n&&(s=`${o.replace(/\/$/,"")}/${r}/actions/runs/${n}`);const a={eventName:e,actor:t,runId:n,runUrl:s,workflow:i};if(process.env.GITHUB_EVENT_PATH)try{const e=y(process.env.GITHUB_EVENT_PATH,"utf8");Object.assign(a,JSON.parse(e))}catch{console.error("Failed to parse GitHub event payload")}return a})(),n={...e,source:"github",reason:t.eventName,workflow:t.workflow,runId:t.runId,runUrl:t.runUrl,commitId:t.head_commit?.id,repository:t.repository?.name,repository_homepage:t.repository?.homepage,repository_license:t.repository?.license?.name,repository_owner:t.repository?.owner?.login,repository_owner_avatar_url:t.repository?.owner?.avatar_url,actor:t.actor,sender_login:t.sender?.login,sender_avatar_url:t.sender?.avatar_url};return t.pull_request?{...n,branch:t.pull_request.head?.ref,commitId:t.pull_request.head?.sha,htmlUrl:t.pull_request.html_url}:t.release?{...n,tag:t.release.tag_name,htmlUrl:t.release.html_url}:{...n,branch:vt(t.ref??process.env.GITHUB_REF)}}if(process.env.SYSTEM_TEAMPROJECT){const t=(()=>{const e=process.env.BUILD_BUILDID||"unknown",t=process.env.BUILD_DEFINITIONNAME||"unknown",n=process.env.BUILD_REPOSITORY_NAME||"unknown",r=process.env.SYSTEM_TEAMPROJECT||"unknown",i=process.env.SYSTEM_COLLECTIONURI||"unknown",o=process.env.BUILD_REQUESTEDFOR||"unknown",s=process.env.BUILD_SOURCEBRANCH||"unknown",a=process.env.BUILD_SOURCEVERSION||"unknown",c=process.env.BUILD_REASON||"unknown";let l="unknown";return"unknown"!==i&&"unknown"!==r&&"unknown"!==e&&(l=`${i.replace(/\/$/,"")}${r}/_build/results?buildId=${e}`),{runId:e,pipelineName:t,repository:n,project:r,orgUrl:i,actor:o,branch:s,commitId:a,runUrl:l,reason:c}})();return{...e,source:"azure_devops",reason:t.reason,repository:t.repository,runId:t.runId,runUrl:t.runUrl,actor:t.actor,branch:t.branch,commitId:t.commitId,workflow:t.pipelineName}}return{...e,branch:mt()}},Et=["png","jpg","jpeg","gif","svg","ico","webp","mp4","webm","mp3","woff2","woff","eot","ttf","otf","pdf","md","txt"];const bt=(e,t,n)=>{ft(t,"expected packageJson"),P(t.name,"expected [name] in packageJson"),P(t.version,"expected [version] in packageJson");const r=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/app-bundle.js":ct(e.root))(e,t),i=t.name.replace(/^@|\w.*\//gm,""),o=n?.snapshot?function(e,t){const n=O(e)?.version;if(!n)throw new Error(`Invalid semantic version: "${e}". Expected format: major.minor.patch`);const r=Math.floor(Date.now()/1e3);return`${n}-${"string"==typeof t?`${t}.${r}`:`snapshot.${r}`}`}(t.version,n.snapshot):t.version,s="build"===e.command?void 0:`/bundles/apps/${i}@${o}`,a=pt(t)??dt(),c=Et.map(e=>`.${e}`);return{appKey:i,displayName:t.name,description:t.description||"",keywords:t.keywords,type:"standalone",build:{entryPoint:r,assetPath:s,githubRepo:a,version:o,timestamp:(new Date).toISOString(),commitSha:ht(),annotations:yt(),projectPage:t.homepage,allowedExtensions:c}}},wt=(e,t)=>C(e,t),Lt=T.object({environment:T.record(T.string(),T.any()).describe("Key-value map of environment-specific variables for the application. Defaults to an empty object if not provided.").optional().default({}),endpoints:T.record(T.string(),T.object({url:T.string({message:"The endpoint URL. This field is required."}),scopes:T.array(T.string()).optional().default([]).describe("List of scopes required for accessing this endpoint. Defaults to an empty array.")})).describe("A mapping of endpoint names to their configuration objects. Each endpoint must specify a URL and may specify scopes.").optional()}).describe("The API application configuration schema, defining environment variables and endpoints for the application."),It=(e,t)=>i.blueBright(t?.relative?`./${u(t?.cwd??process.cwd(),e)}`:e),St=async(e,t,n)=>{const r=bt(e,t.packageJson,{snapshot:n?.snapshot});try{n?.log?.start("loading application package...");const{manifest:t,path:i}=await(async(e,t)=>{const n=t?.file??[`app.manifest.${e.environment}`,"app.manifest","app.manifest.config"],r=await I(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};if("function"==typeof n.default){const t=await n.default(e,{base:r});return wt(r,t??{})}return wt(r,n.default??{})}}});return{manifest:r.config,path:r.path,extension:r.extension}})(e,{base:r,file:n?.manifestPath});if(!t.build)throw new Error(`Application manifest for ${t.appKey} does not contain build information, please check the manifest file.`);return"serve"===e.command&&(t.build.assetPath=`/bundles/apps/${t.appKey}/${t.build.version}`),n?.log?.succeed("generated manifest from",It(i,{relative:!0})),t}catch(e){if(e instanceof S){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${It(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(i.dim("no local manifest config applied, using default generated from package")),r}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?It(n?.manifestPath):""}`),e}};async function Ct(e){e?.start("resolve project package");try{const t=await(async e=>{const t=await f({...e,normalize:!1});if(!t)throw new Error("failed to find package.json");const n={...t.packageJson};return ot(n),{packageJson:{...n,version:t.packageJson.version},path:t.path,root:s(t.path)}})();return e?.succeed("ðĶ",i.yellowBright([t.packageJson.name,t.packageJson.version].join("@"))),e?.info("ð ",i.blueBright(t.root)),t}catch(t){throw e?.fail("â ïļ","failed to resolve project package"),t}}const _t=async e=>{const{log:t}=e??{},n=await Ct(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await St(r,n,{log:t,manifestPath:e?.manifest,snapshot:e?.snapshot});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},Dt=async e=>{const{log:t,snapshot:r}=e??{};t?.log(i.bold("Starting to build application"));const{manifest:o,pkg:s,env:a}=await _t({log:t,manifest:e?.manifest,snapshot:r});t?.start("loading vite config...");const c=await ut(a,s);t?.succeed("vite config applied"),t?.debug("vite config:",c),t?.start("ðĪðŧ","building application..."),t?.startNativeConsoleCapture(),await n(c),t?.stopNativeConsoleCapture(),t?.succeed("build completed ð");return{pkg:s,manifest:o,outDir:c.build.outDir}};var Pt,Nt,Ot={exports:{}};function At(){return Nt?Pt:(Nt=1,Pt={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24})}var Rt,$t,Tt,xt,Ut,Ft,kt,Bt,Mt={};function Gt(){return Rt||(Rt=1,function(e){const t={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",MAX_OUTPUT_EXCEEDED:"Decompressed data exceeds the declared uncompressed size",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DUPLICATE_ENTRY:"Duplicate entry name {0}",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",ZIP64_VALUE_TOO_LARGE:"Zip64 value exceeds the maximum safe integer",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function n(e){return function(...t){return t.length&&(e=e.replace(/\{(\d)\}/g,(e,n)=>t[n]||"")),new Error("ADM-ZIP: "+e)}}for(const r of Object.keys(t))e[r]=n(t[r])}(Mt)),Mt}function jt(){if(Tt)return $t;Tt=1;const e=x,t=U,n=At(),r=Gt(),i="object"==typeof process&&"win32"===process.platform,o=e=>"object"==typeof e&&null!==e,s=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=3988292384^t>>>1:t>>>=1;return t>>>0});function a(n){this.sep=t.sep,this.fs=e,o(n)&&o(n.fs)&&"function"==typeof n.fs.statSync&&(this.fs=n.fs)}return $t=a,a.prototype.makeDir=function(e){const t=this;!function(e){let n=e.split(t.sep)[0];e.split(t.sep).forEach(function(e){if(e&&":"!==e.substr(-1,1)){var i;n+=t.sep+e;try{i=t.fs.statSync(n)}catch(e){if(!e.message||!e.message.startsWith("ENOENT"))throw e;t.fs.mkdirSync(n)}if(i&&i.isFile())throw r.FILE_IN_THE_WAY(`"${n}"`)}})}(e)},a.prototype.writeFileTo=function(e,n,r,i){const o=this;if(o.fs.existsSync(e)){if(!r)return!1;if(o.fs.statSync(e).isDirectory())return!1}var s,a=t.dirname(e);o.fs.existsSync(a)||o.makeDir(a);try{s=o.fs.openSync(e,"w",438)}catch(t){o.fs.chmodSync(e,438),s=o.fs.openSync(e,"w",438)}if(s)try{o.fs.writeSync(s,n,0,n.length,0)}finally{o.fs.closeSync(s)}return o.fs.chmodSync(e,i||438),!0},a.prototype.writeFileToAsync=function(e,n,r,i,o){"function"==typeof i&&(o=i,i=void 0);const s=this;s.fs.exists(e,function(a){if(a&&!r)return o(!1);s.fs.stat(e,function(r,c){if(a&&c&&c.isDirectory())return o(!1);var l=t.dirname(e);s.fs.exists(l,function(t){if(!t)try{s.makeDir(l)}catch(e){return o(!1)}const r=function(t){s.fs.write(t,n,0,n.length,0,function(n){s.fs.close(t,function(){if(n)return o(!1);s.fs.chmod(e,i||438,function(){o(!0)})})})};s.fs.open(e,"w",438,function(t,n){t?s.fs.chmod(e,438,function(){s.fs.open(e,"w",438,function(e,t){if(e||!t)return o(!1);r(t)})}):n?r(n):o(!1)})})})})},a.prototype.assertPathSafe=function(e,n){const i=this;if("function"!=typeof i.fs.lstatSync)return;const o=t.resolve(e),s=t.resolve(n);if(s===o)return;const a=t.relative(o,s);if(!a||".."===a||a.startsWith(".."+t.sep)||t.isAbsolute(a))return;let c=o;for(const e of a.split(t.sep)){if(!e||"."===e)continue;let n;c=t.join(c,e);try{n=i.fs.lstatSync(c)}catch(e){break}if(n.isSymbolicLink())throw r.FILE_IN_THE_WAY(`"${c}"`)}},a.prototype.findFiles=function(e){const n=this,r="function"==typeof n.fs.lstatSync,i=n.fs.realpathSync(e);return function e(o,s,a,c){let l=[];return n.fs.readdirSync(o).forEach(function(u){const f=t.join(o,u);if(function(e){if(!r)return!1;if(!n.fs.lstatSync(e).isSymbolicLink())return!1;let o;try{o=n.fs.realpathSync(e)}catch(e){return!0}return!(o===i||o.startsWith(i+t.sep))}(f))return;const p=n.fs.statSync(f);if(l.push(t.normalize(f)+(p.isDirectory()?n.sep:"")),p.isDirectory()&&a){const t=n.fs.realpathSync(f);c.has(t)||(c.add(t),l=l.concat(e(f,s,a,c)))}}),l}(e,void 0,!0,new Set([i]))},a.prototype.findFilesAsync=function(e,n){const r=this,i=[];let o=!1;const s=function(e){o||(o=!0,n(e,e?void 0:i))},a="function"==typeof r.fs.lstat;let c=null;const l=function(e,n,o){r.fs.readdir(e,function(s,u){if(s)return o(s);let f=u.length;if(!f)return o();u.forEach(function(s){const u=t.join(e,s);!function(e,n){if(!a)return n(null,!1);r.fs.lstat(e,function(i,o){return i?n(i):o&&o.isSymbolicLink()?void r.fs.realpath(e,function(e,r){if(e)return n(null,!0);n(null,!(r===c||r.startsWith(c+t.sep)))}):n(null,!1)})}(u,function(e,s){if(e)return o(e);s?--f||o():r.fs.stat(u,function(e,s){if(e)return o(e);s?(i.push(t.normalize(u)+(s.isDirectory()?r.sep:"")),s.isDirectory()?r.fs.realpath(u,function(e,t){if(e)return o(e);n.has(t)?--f||o():(n.add(t),l(u,n,function(e){if(e)return o(e);--f||o()}))}):--f||o()):--f||o()})})})})};r.fs.realpath(e,function(t,n){if(t)return s(t);c=n,l(e,new Set([n]),s)})},a.prototype.getAttributes=function(){},a.prototype.setAttributes=function(){},a.crc32update=function(e,t){return s[255&(e^t)]^e>>>8},a.crc32=function(e){"string"==typeof e&&(e=Buffer.from(e,"utf8"));let t=e.length,n=-1;for(let r=0;r<t;)n=a.crc32update(n,e[r++]);return~n>>>0},a.methodToString=function(e){switch(e){case n.STORED:return"STORED ("+e+")";case n.DEFLATED:return"DEFLATED ("+e+")";default:return"UNSUPPORTED ("+e+")"}},a.canonical=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.join(".",n)},a.zipnamefix=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.posix.join(".",n)},a.findLast=function(e,t){if(!Array.isArray(e))throw new TypeError("arr is not array");for(let n=(e.length>>>0)-1;n>=0;n--)if(t(e[n],n,e))return e[n]},a.sanitize=function(e,n){e=t.resolve(t.normalize(e));for(var r=n.split("/"),i=0,o=r.length;i<o;i++){var s=t.normalize(t.join(e,r.slice(i,o).join(t.sep)));if(s===e||s.startsWith(e+t.sep))return s}return t.normalize(t.join(e,t.basename(n)))},a.toBuffer=function(e,t){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e):"string"==typeof e?t(e):Buffer.alloc(0)},a.readBigUInt64LE=function(e,t){const n=e.readUInt32LE(t),i=4294967296*e.readUInt32LE(t+4)+n;if(i>Number.MAX_SAFE_INTEGER)throw r.ZIP64_VALUE_TOO_LARGE();return i},a.writeBigUInt64LE=function(e,t,n){const r=t>>>0,i=Math.floor(t/4294967296)>>>0;e.writeUInt32LE(r,n),e.writeUInt32LE(i,n+4)},a.fromDOS2Date=function(e){return new Date(1980+(e>>25&127),Math.max((e>>21&15)-1,0),Math.max(e>>16&31,1),e>>11&31,e>>5&63,(31&e)<<1)},a.fromDate2DOS=function(e){let t=0,n=0;return e.getFullYear()>1979&&(t=(e.getFullYear()-1980&127)<<9|e.getMonth()+1<<5|e.getDate(),n=e.getHours()<<11|e.getMinutes()<<5|e.getSeconds()>>1),t<<16|n},a.isWin=i,a.crcTable=s,$t}function Ht(){return Bt||(Bt=1,Ot.exports=jt(),Ot.exports.Constants=At(),Ot.exports.Errors=Gt(),Ot.exports.FileAttr=function(){if(Ut)return xt;Ut=1;const e=U;return xt=function(t,{fs:n}){var r=t||"",i={directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0},o=null;return r&&n.existsSync(r)?(o=n.statSync(r),i.directory=o.isDirectory(),i.mtime=o.mtime,i.atime=o.atime,i.executable=!!(73&o.mode),i.readonly=!(128&o.mode),i.hidden="."===e.basename(r)[0]):console.warn("Invalid path: "+r),{get directory(){return i.directory},get readOnly(){return i.readonly},get hidden(){return i.hidden},get mtime(){return i.mtime},get atime(){return i.atime},get executable(){return i.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:r,isDirectory:i.directory,isReadOnly:i.readonly,isHidden:i.hidden,isExecutable:i.executable,mTime:i.mtime,aTime:i.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}(),Ot.exports.decoder=kt?Ft:(kt=1,Ft={efs:!0,encode:e=>Buffer.from(e,"utf8"),decode:e=>e.toString("utf8")})),Ot.exports}var zt,qt,Vt,Wt,Zt,Kt={};function Yt(){if(qt)return zt;qt=1;var e=Ht(),t=e.Constants;return zt=function(){var n=20,r=10,i=0,o=0,s=0,a=0,c=0,l=0,u=0,f=0,p=0,d=0,h=0,m=0,g=0;n|=e.isWin?2560:768,i|=t.FLG_EFS;const v={extraLen:0},y=e=>Math.max(0,e)>>>0;return s=e.fromDate2DOS(new Date),{get made(){return n},set made(e){n=e},get version(){return r},set version(e){r=e},get flags(){return i},set flags(e){i=e},get flags_efs(){return(i&t.FLG_EFS)>0},set flags_efs(e){e?i|=t.FLG_EFS:i&=~t.FLG_EFS},get flags_desc(){return(i&t.FLG_DESC)>0},set flags_desc(e){e?i|=t.FLG_DESC:i&=~t.FLG_DESC},get method(){return o},set method(e){switch(e){case t.STORED:this.version=10;break;case t.DEFLATED:default:this.version=20}o=e},get time(){return e.fromDOS2Date(this.timeval)},set time(t){t=new Date(t),this.timeval=e.fromDate2DOS(t)},get timeval(){return s},set timeval(e){s=y(e)},get timeHighByte(){return e=s>>>8,255&Math.max(0,e);var e},get crc(){return a},set crc(e){a=y(e)},get compressedSize(){return c},set compressedSize(e){c=y(e)},get size(){return l},set size(e){l=y(e)},get fileNameLength(){return u},set fileNameLength(e){u=e},get extraLength(){return f},set extraLength(e){f=e},get extraLocalLength(){return v.extraLen},set extraLocalLength(e){v.extraLen=e},get commentLength(){return p},set commentLength(e){p=e},get diskNumStart(){return d},set diskNumStart(e){d=y(e)},get inAttr(){return h},set inAttr(e){h=y(e)},get attr(){return m},set attr(e){m=y(e)},get fileAttr(){return(m||0)>>16&511},get offset(){return g},set offset(e){g=y(e)},get encrypted(){return(i&t.FLG_ENC)===t.FLG_ENC},get centralHeaderSize(){return t.CENHDR+u+f+p},get realDataOffset(){return g+t.LOCHDR+v.fnameLen+v.extraLen},get localHeader(){return v},loadLocalHeaderFromBinary:function(n){if(g<0||g+t.LOCHDR>n.length)throw e.Errors.INVALID_LOC();var r=n.slice(g,g+t.LOCHDR);if(r.readUInt32LE(0)!==t.LOCSIG)throw e.Errors.INVALID_LOC();v.version=r.readUInt16LE(t.LOCVER),v.flags=r.readUInt16LE(t.LOCFLG),v.flags_desc=(v.flags&t.FLG_DESC)>0,v.method=r.readUInt16LE(t.LOCHOW),v.time=r.readUInt32LE(t.LOCTIM),v.crc=r.readUInt32LE(t.LOCCRC),v.compressedSize=r.readUInt32LE(t.LOCSIZ),v.size=r.readUInt32LE(t.LOCLEN),v.fnameLen=r.readUInt16LE(t.LOCNAM),v.extraLen=r.readUInt16LE(t.LOCEXT);const i=g+t.LOCHDR+v.fnameLen,o=i+v.extraLen;return n.slice(i,o)},loadFromBinary:function(v){if(v.length!==t.CENHDR||v.readUInt32LE(0)!==t.CENSIG)throw e.Errors.INVALID_CEN();n=v.readUInt16LE(t.CENVEM),r=v.readUInt16LE(t.CENVER),i=v.readUInt16LE(t.CENFLG),o=v.readUInt16LE(t.CENHOW),s=v.readUInt32LE(t.CENTIM),a=v.readUInt32LE(t.CENCRC),c=v.readUInt32LE(t.CENSIZ),l=v.readUInt32LE(t.CENLEN),u=v.readUInt16LE(t.CENNAM),f=v.readUInt16LE(t.CENEXT),p=v.readUInt16LE(t.CENCOM),d=v.readUInt16LE(t.CENDSK),h=v.readUInt16LE(t.CENATT),m=v.readUInt32LE(t.CENATX),g=v.readUInt32LE(t.CENOFF)},localHeaderToBinary:function(){var e=Buffer.alloc(t.LOCHDR);return e.writeUInt32LE(t.LOCSIG,0),e.writeUInt16LE(r,t.LOCVER),e.writeUInt16LE(i&~t.FLG_DESC,t.LOCFLG),e.writeUInt16LE(o,t.LOCHOW),e.writeUInt32LE(s,t.LOCTIM),e.writeUInt32LE(a,t.LOCCRC),e.writeUInt32LE(c,t.LOCSIZ),e.writeUInt32LE(l,t.LOCLEN),e.writeUInt16LE(u,t.LOCNAM),e.writeUInt16LE(v.extraLen,t.LOCEXT),e},centralHeaderToBinary:function(){var e=Buffer.alloc(t.CENHDR+u+f+p);return e.writeUInt32LE(t.CENSIG,0),e.writeUInt16LE(n,t.CENVEM),e.writeUInt16LE(r,t.CENVER),e.writeUInt16LE(i&~t.FLG_DESC,t.CENFLG),e.writeUInt16LE(o,t.CENHOW),e.writeUInt32LE(s,t.CENTIM),e.writeUInt32LE(a,t.CENCRC),e.writeUInt32LE(c,t.CENSIZ),e.writeUInt32LE(l,t.CENLEN),e.writeUInt16LE(u,t.CENNAM),e.writeUInt16LE(f,t.CENEXT),e.writeUInt16LE(p,t.CENCOM),e.writeUInt16LE(d,t.CENDSK),e.writeUInt16LE(h,t.CENATT),e.writeUInt32LE(m,t.CENATX),e.writeUInt32LE(g,t.CENOFF),e},toJSON:function(){const s=function(e){return e+" bytes"};return{made:n,version:r,flags:i,method:e.methodToString(o),time:this.time,crc:"0x"+a.toString(16).toUpperCase(),compressedSize:s(c),size:s(l),fileNameLength:s(u),extraLength:s(f),commentLength:s(p),diskNumStart:d,inAttr:h,attr:m,offset:g,centralHeaderSize:s(t.CENHDR+u+f+p)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}function Xt(){return Zt||(Zt=1,Kt.EntryHeader=Yt(),Kt.MainHeader=function(){if(Wt)return Vt;Wt=1;var e=Ht(),t=e.Constants;return Vt=function(){var n=0,r=0,i=0,o=0,s=0;const a=()=>n>t.EF_ZIP64_OR_16||r>t.EF_ZIP64_OR_16||i>t.EF_ZIP64_OR_32||o>t.EF_ZIP64_OR_32;return{get diskEntries(){return n},set diskEntries(e){n=r=e},get totalEntries(){return r},set totalEntries(e){r=n=e},get size(){return i},set size(e){i=e},get offset(){return o},set offset(e){o=e},get commentLength(){return s},set commentLength(e){s=e},get mainHeaderSize(){return(a()?t.ZIP64HDR+t.END64HDR:0)+t.ENDHDR+s},loadFromBinary:function(a){if((a.length!==t.ENDHDR||a.readUInt32LE(0)!==t.ENDSIG)&&(a.length<t.ZIP64HDR||a.readUInt32LE(0)!==t.ZIP64SIG))throw e.Errors.INVALID_END();a.readUInt32LE(0)===t.ENDSIG?(n=a.readUInt16LE(t.ENDSUB),r=a.readUInt16LE(t.ENDTOT),i=a.readUInt32LE(t.ENDSIZ),o=a.readUInt32LE(t.ENDOFF),s=a.readUInt16LE(t.ENDCOM)):(n=e.readBigUInt64LE(a,t.ZIP64SUB),r=e.readBigUInt64LE(a,t.ZIP64TOT),i=e.readBigUInt64LE(a,t.ZIP64SIZB),o=e.readBigUInt64LE(a,t.ZIP64OFF),s=0)},toBinary:function(){var c;if(!a())return(c=Buffer.alloc(t.ENDHDR+s)).writeUInt32LE(t.ENDSIG,0),c.writeUInt32LE(0,4),c.writeUInt16LE(n,t.ENDSUB),c.writeUInt16LE(r,t.ENDTOT),c.writeUInt32LE(i,t.ENDSIZ),c.writeUInt32LE(o,t.ENDOFF),c.writeUInt16LE(s,t.ENDCOM),c.fill(" ",t.ENDHDR),c;let l=0;(c=Buffer.alloc(this.mainHeaderSize)).writeUInt32LE(t.ZIP64SIG,l),e.writeBigUInt64LE(c,t.ZIP64HDR-t.ZIP64LEAD,l+t.ZIP64SIZE),c.writeUInt16LE(45,l+t.ZIP64VEM),c.writeUInt16LE(45,l+t.ZIP64VER),c.writeUInt32LE(0,l+t.ZIP64DSK),c.writeUInt32LE(0,l+t.ZIP64DSKDIR),e.writeBigUInt64LE(c,n,l+t.ZIP64SUB),e.writeBigUInt64LE(c,r,l+t.ZIP64TOT),e.writeBigUInt64LE(c,i,l+t.ZIP64SIZB),e.writeBigUInt64LE(c,o,l+t.ZIP64OFF);const u=o+i;return l+=t.ZIP64HDR,c.writeUInt32LE(t.END64SIG,l),c.writeUInt32LE(0,l+t.END64START),e.writeBigUInt64LE(c,u,l+t.END64OFF),c.writeUInt32LE(1,l+t.END64NUMDISKS),l+=t.END64HDR,c.writeUInt32LE(t.ENDSIG,l),c.writeUInt32LE(0,l+4),c.writeUInt16LE(Math.min(n,t.EF_ZIP64_OR_16),l+t.ENDSUB),c.writeUInt16LE(Math.min(r,t.EF_ZIP64_OR_16),l+t.ENDTOT),c.writeUInt32LE(Math.min(i,t.EF_ZIP64_OR_32),l+t.ENDSIZ),c.writeUInt32LE(Math.min(o,t.EF_ZIP64_OR_32),l+t.ENDOFF),c.writeUInt16LE(s,l+t.ENDCOM),c.fill(" ",l+t.ENDHDR),c},toJSON:function(){return{diskEntries:n,totalEntries:r,size:i+" bytes",offset:function(e,t){let n=e.toString(16).toUpperCase();for(;n.length<t;)n="0"+n;return"0x"+n}(o,4),commentLength:s}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}()),Kt}var Jt,Qt,en,tn,nn,rn,on,sn,an,cn,ln,un,fn,pn={};function dn(){if(rn)return nn;rn=1;const{randomFillSync:e}=k,t=Gt(),n=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;return t>>>0}),r=(e,t)=>Math.imul(e,t)>>>0,i=(e,t)=>n[255&(e^t)]^e>>>8,o=()=>"function"==typeof e?e(Buffer.alloc(12)):o.node();o.node=()=>{const e=Buffer.alloc(12),t=e.length;for(let n=0;n<t;n++)e[n]=256*Math.random()&255;return e};const s={genSalt:o};function a(e){const t=Buffer.isBuffer(e)?e:Buffer.from(e);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let e=0;e<t.length;e++)this.updateKeys(t[e])}return a.prototype.updateKeys=function(e){const t=this.keys;return t[0]=i(t[0],e),t[1]+=255&t[0],t[1]=r(t[1],134775813)+1,t[2]=i(t[2],t[1]>>>24),e},a.prototype.next=function(){const e=(2|this.keys[2])>>>0;return r(e,1^e)>>8&255},nn={decrypt:function(e,n,r){if(!e||!Buffer.isBuffer(e)||e.length<12)return Buffer.alloc(0);const i=function(e){const t=new a(e);return function(e){const n=Buffer.alloc(e.length);let r=0;for(let i of e)n[r++]=t.updateKeys(i^t.next());return n}}(r),o=i(e.slice(0,12)),s=8&~n.flags?n.crc>>>24:n.timeHighByte;if(o[11]!==s)throw t.WRONG_PASSWORD();return i(e.slice(12))},encrypt:function(e,t,n,r=!1){null==e&&(e=Buffer.alloc(0)),Buffer.isBuffer(e)||(e=Buffer.from(e.toString()));const i=function(e){const t=new a(e);return function(e,n,r=0){n||(n=Buffer.alloc(e.length));for(let i of e){const e=t.next();n[r++]=i^e,t.updateKeys(i)}return n}}(n),o=s.genSalt();o[11]=t.crc>>>24&255,r&&(o[10]=t.crc>>>16&255);const c=Buffer.alloc(e.length+12);return i(o,c),i(e,c,12)},_salter:function(e){Buffer.isBuffer(e)&&e.length>=12?s.genSalt=function(){return e.slice(0,12)}:s.genSalt="node"===e?o.node:o}}}function hn(){return on||(on=1,pn.Deflater=Qt?Jt:(Qt=1,Jt=function(e){var t=F,n={chunkSize:1024*(parseInt(e.length/1024)+1)};return{deflate:function(){return t.deflateRawSync(e,n)},deflateAsync:function(r){var i=t.createDeflateRaw(n),o=[],s=0;i.on("data",function(e){o.push(e),s+=e.length}),i.on("end",function(){var e=Buffer.alloc(s),t=0;e.fill(0);for(var n=0;n<o.length;n++){var i=o[n];i.copy(e,t),t+=i.length}r&&r(e)}),i.end(e)}}}),pn.Inflater=function(){if(tn)return en;tn=1;const e=+(process?.versions?.node??"").split(".")[0]||0,t=Gt();return en=function(n,r){var i=F;const o=r>0?r:1,s=e>=15?{maxOutputLength:o}:{};return{inflate:function(){return i.inflateRawSync(n,s)},inflateAsync:function(e){var r=i.createInflateRaw(s),a=[],c=0,l=!1;const u=function(t){l||(l=!0,r.destroy(),e&&e(Buffer.alloc(0),t))};r.on("error",function(e){u(e)}),r.on("data",function(e){if(!l){if((c+=e.length)>o)return u(t.MAX_OUTPUT_EXCEEDED());a.push(e)}}),r.on("end",function(){if(!l){l=!0;var t=Buffer.alloc(c),n=0;t.fill(0);for(var r=0;r<a.length;r++){var i=a[r];i.copy(t,n),n+=i.length}e&&e(t)}}),r.end(n)}}}}(),pn.ZipCrypto=dn()),pn}function mn(){if(an)return sn;an=1;var e=Ht(),t=Xt(),n=e.Constants,r=hn();return sn=function(i,o){var s=new t.EntryHeader,a=Buffer.alloc(0),c=Buffer.alloc(0),l=!1,u=null,f=Buffer.alloc(0),p=Buffer.alloc(0),d=!0;const h=i,m="object"==typeof h.decoder?h.decoder:e.decoder;function g(){if(!(o&&o instanceof Uint8Array))return Buffer.alloc(0);p=s.loadLocalHeaderFromBinary(o);const t=s.realDataOffset,n=t+s.compressedSize;if(t<0||n<t||n>o.length)throw e.Errors.INVALID_LOC();return o.slice(t,n)}function v(t){const n=s.flags_desc||s.localHeader.flags_desc?s.crc:s.localHeader.crc;return e.crc32(t)===n}function y(t,n,i){if(void 0===n&&"string"==typeof t&&(i=t,t=void 0),l)return t&&n&&n(Buffer.alloc(0),e.Errors.DIRECTORY_CONTENT_ERROR()),Buffer.alloc(0);var o,c;try{if(0===(o=g()).length)return t&&n&&n(o),o;if(s.encrypted){if("string"!=typeof i&&!Buffer.isBuffer(i))throw e.Errors.INVALID_PASS_PARAM();o=r.ZipCrypto.decrypt(o,s,i)}}catch(e){if(t&&n)return n(Buffer.alloc(0),e),Buffer.alloc(0);throw e}switch(s.method){case e.Constants.STORED:if(c=Buffer.alloc(o.length),o.copy(c),v(c))return t&&n&&n(c),c;throw t&&n&&n(c,e.Errors.BAD_CRC()),e.Errors.BAD_CRC();case e.Constants.DEFLATED:var u=new r.Inflater(o,s.size);if(!t){if(!v(c=u.inflate()))throw e.Errors.BAD_CRC(`"${m.decode(a)}"`);return c}u.inflateAsync(function(t,r){n&&(r?n(Buffer.alloc(0),r):v(t)?n(t):n(t,e.Errors.BAD_CRC()))});break;default:throw t&&n&&n(Buffer.alloc(0),e.Errors.UNKNOWN_METHOD()),e.Errors.UNKNOWN_METHOD()}}function E(t,n){if((!u||!u.length)&&Buffer.isBuffer(o))return t&&n&&n(g()),g();if(u.length&&!l){var i;switch(s.method){case e.Constants.STORED:return s.compressedSize=s.size,i=Buffer.alloc(u.length),u.copy(i),t&&n&&n(i),i;default:case e.Constants.DEFLATED:var a=new r.Deflater(u);if(!t){var c=a.deflate();return s.compressedSize=c.length,c}a.deflateAsync(function(e){i=Buffer.alloc(e.length),s.compressedSize=e.length,e.copy(i),n&&n(i)}),a=null}}else{if(!t||!n)return Buffer.alloc(0);n(Buffer.alloc(0))}}function b(t,n){return e.readBigUInt64LE(t,n)}function w(e){var t,r,i,o;e.length>=n.EF_ZIP64_SCOMP&&(t=b(e,n.EF_ZIP64_SUNCOMP),s.size===n.EF_ZIP64_OR_32&&(s.size=t)),e.length>=n.EF_ZIP64_RHO&&(r=b(e,n.EF_ZIP64_SCOMP),s.compressedSize===n.EF_ZIP64_OR_32&&(s.compressedSize=r)),e.length>=n.EF_ZIP64_DSN&&(i=b(e,n.EF_ZIP64_RHO),s.offset===n.EF_ZIP64_OR_32&&(s.offset=i)),e.length>=n.EF_ZIP64_DSN+4&&(o=e.readUInt32LE(n.EF_ZIP64_DSN),s.diskNumStart===n.EF_ZIP64_OR_16&&(s.diskNumStart=o))}return d=!!m.hasOwnProperty("efs")&&m.efs,{get entryName(){return m.decode(a)},get rawEntryName(){return a},set entryName(t){var n=(a=e.toBuffer(t,m.encode))[a.length-1];l=47===n||92===n,s.fileNameLength=a.length},get efs(){return"function"==typeof d?d(this.entryName):d},get extra(){return f},set extra(t){f=t,s.extraLength=t.length,function(t){try{for(var r,i,o,s=0;s+4<t.length;)r=t.readUInt16LE(s),s+=2,i=t.readUInt16LE(s),s+=2,o=t.slice(s,s+i),s+=i,n.ID_ZIP64===r&&w(o)}catch(t){throw e.Errors.EXTRA_FIELD_PARSE_ERROR()}}(t)},get comment(){return m.decode(c)},set comment(t){if(c=e.toBuffer(t,m.encode),s.commentLength=c.length,c.length>65535)throw e.Errors.COMMENT_TOO_LONG()},get name(){const e=m.decode(a);return l?e.replace(/[/\\]$/,"").split("/").pop():e.split("/").pop()},get isDirectory(){return l},getCompressedData:function(){return E(!1,null)},getCompressedDataAsync:function(e){E(!0,e)},setData:function(t){u=e.toBuffer(t,e.decoder.encode),!l&&u.length?(s.size=u.length,s.method=e.Constants.DEFLATED,s.crc=e.crc32(t),s.changed=!0):s.method=e.Constants.STORED},getData:function(e){return s.changed?u:y(!1,null,e)},getDataAsync:function(e,t){s.changed?e(u):y(!0,e,t)},set attr(e){s.attr=e},get attr(){return s.attr},set header(e){s.loadFromBinary(e)},get header(){return s},packCentralHeader:function(){s.flags_efs=this.efs,s.extraLength=f.length;var t=s.centralHeaderToBinary(),n=e.Constants.CENHDR;return a.copy(t,n),n+=a.length,f.copy(t,n),n+=s.extraLength,c.copy(t,n),t},packLocalHeader:function(){let e=0;s.flags_efs=this.efs,s.extraLocalLength=p.length;const t=s.localHeaderToBinary(),n=Buffer.alloc(t.length+a.length+s.extraLocalLength);return t.copy(n,e),e+=t.length,a.copy(n,e),e+=a.length,p.copy(n,e),e+=p.length,n},toJSON:function(){const e=function(e){return"<"+(e&&e.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:s.toJSON(),compressedData:e(o),data:e(u)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}},sn}function gn(){if(ln)return cn;ln=1;const e=mn(),t=Xt(),n=Ht();return cn=function(r,i){var o=[],s=Object.create(null),a=Buffer.alloc(0),c=new t.MainHeader,l=!1;const u=new Set,f=i,{noSort:p,decoder:d}=f;function h(){if(l=!0,s=Object.create(null),c.diskEntries>(r.length-c.offset)/n.Constants.CENHDR)throw n.Errors.DISK_ENTRY_TOO_LARGE();o=new Array(c.diskEntries);for(var t=c.offset,i=0;i<o.length;i++){var a=t,p=new e(f,r);if(p.header=r.slice(a,a+=n.Constants.CENHDR),p.entryName=r.slice(a,a+=p.header.fileNameLength),p.header.extraLength&&(p.extra=r.slice(a,a+=p.header.extraLength)),p.header.commentLength&&(p.comment=r.slice(a,a+p.header.commentLength)),t+=p.header.centralHeaderSize,p.entryName in s)throw n.Errors.DUPLICATE_ENTRY(`"${p.entryName}"`);o[i]=p,s[p.entryName]=p}u.clear(),function(){const t=new Set;for(const e of Object.keys(s)){const n=e.split("/");if(n.pop(),n.length)for(let e=0;e<n.length;e++){const r=n.slice(0,e+1).join("/")+"/";t.add(r)}}for(const n of t)if(!(n in s)){const t=new e(f);t.entryName=n,t.attr=16,t.temporary=!0,o.push(t),s[t.entryName]=t,u.add(t)}}()}function m(){o.length>1&&!p&&(o=o.map(e=>({entry:e,key:e.entryName.toLowerCase()})).sort((e,t)=>e.key.localeCompare(t.key)).map(e=>e.entry))}return r?function(e){var t=r.length-n.Constants.ENDHDR,i=Math.max(0,t-65535),o=i,s=r.length,l=-1,u=0;"boolean"==typeof f.trailingSpace&&f.trailingSpace&&(i=0);for(;t>=o;t--)if(80===r[t])if(r.readUInt32LE(t)!==n.Constants.ENDSIG)if(r.readUInt32LE(t)!==n.Constants.END64SIG){if(r.readUInt32LE(t)===n.Constants.ZIP64SIG){l=t,s=t+n.readBigUInt64LE(r,t+n.Constants.ZIP64SIZE)+n.Constants.ZIP64LEAD;break}}else o=i;else l=t,u=t,s=t+n.Constants.ENDHDR,o=t-n.Constants.END64HDR;if(-1==l)throw n.Errors.INVALID_FORMAT();c.loadFromBinary(r.slice(l,s)),c.commentLength&&(a=r.slice(u+n.Constants.ENDHDR));e&&h()}(f.readEntries):l=!0,{get entries(){return l||h(),o.filter(e=>!u.has(e))},get comment(){return d.decode(a)},set comment(e){a=n.toBuffer(e,d.encode),c.commentLength=a.length},getEntryCount:function(){return l?o.length:c.diskEntries},forEach:function(e){this.entries.forEach(e)},getEntry:function(e){return l||h(),s[e]||null},setEntry:function(e){l||h(),o.push(e),s[e.entryName]=e,c.totalEntries=o.length},deleteFile:function(e,t=!0){l||h();const n=s[e];this.getEntryChildren(n,t).map(e=>e.entryName).forEach(this.deleteEntry)},deleteEntry:function(e){l||h();const t=s[e],n=o.indexOf(t);n>=0&&(o.splice(n,1),delete s[e],c.totalEntries=o.length)},getEntryChildren:function(e,t=!0){if(l||h(),"object"==typeof e){if(e.isDirectory&&t){const t=[],n=e.entryName;for(const e of o)e.entryName.startsWith(n)&&t.push(e);return t}return[e]}return[]},getChildCount:function(e){if(e&&e.isDirectory){const t=this.getEntryChildren(e);return t.includes(e)?t.length-1:t.length}return 0},compressToBuffer:function(){l||h(),m();const e=[],t=[];let n=0,i=0;c.size=0,c.offset=0;let o=0;for(const r of this.entries){const s=r.getCompressedData();r.header.offset=i;const a=r.packLocalHeader(),l=a.length+s.length;i+=l,e.push(a),e.push(s);const u=r.packCentralHeader();t.push(u),c.size+=u.length,n+=l+u.length,o++}n+=c.mainHeaderSize,c.offset=i,c.totalEntries=o,i=0;const s=Buffer.alloc(n);for(const t of e)t.copy(s,i),i+=t.length;for(const e of t)e.copy(s,i),i+=e.length;const u=c.toBinary();return a&&a.copy(u,u.length-a.length),u.copy(s,i),r=s,l=!1,s},toAsyncBuffer:function(e,t,n,i){try{l||h(),m();const t=[],o=[];let s=0,u=0,f=0;c.size=0,c.offset=0;const p=function(d){if(d.length>0){const e=d.shift(),r=e.entryName+e.extra.toString();n&&n(r),e.getCompressedDataAsync(function(n){i&&i(r),e.header.offset=u;const a=e.packLocalHeader(),l=a.length+n.length;u+=l,t.push(a),t.push(n);const h=e.packCentralHeader();o.push(h),c.size+=h.length,s+=l+h.length,f++,p(d)})}else{s+=c.mainHeaderSize,c.offset=u,c.totalEntries=f,u=0;const n=Buffer.alloc(s);t.forEach(function(e){e.copy(n,u),u+=e.length}),o.forEach(function(e){e.copy(n,u),u+=e.length});const i=c.toBinary();a&&a.copy(i,i.length-a.length),i.copy(n,u),r=n,l=!1,e(n)}};p(Array.from(this.entries))}catch(e){t(e)}}}},cn}var vn=function(){if(fn)return un;fn=1;const e=Ht(),t=U,n=mn(),r=gn(),i=(...t)=>e.findLast(t,e=>"boolean"==typeof e),o=(...t)=>e.findLast(t,e=>"string"==typeof e),s={noSort:!1,readEntries:!1,method:e.Constants.NONE,fs:null};return un=function(a,c){let l=null;const u=Object.assign(Object.create(null),s);a&&"object"==typeof a&&(a instanceof Uint8Array||(Object.assign(u,a),a=u.input?u.input:void 0,u.input&&delete u.input),Buffer.isBuffer(a)&&(l=a,u.method=e.Constants.BUFFER,a=void 0)),Object.assign(u,c);const f=new e(u),p=e=>{e.filter(e=>e.attr).sort((e,t)=>t.path.length-e.path.length).forEach(e=>f.fs.chmodSync(e.path,e.attr))};if("object"==typeof u.decoder&&"function"==typeof u.decoder.encode&&"function"==typeof u.decoder.decode||(u.decoder=e.decoder),a&&"string"==typeof a){if(!f.fs.existsSync(a))throw e.Errors.INVALID_FILENAME();u.method=e.Constants.FILE,u.filename=a,l=f.fs.readFileSync(a)}const d=new r(l,u),{canonical:h,sanitize:m,zipnamefix:g}=e;function v(e){var n;if(e&&d&&("string"==typeof e&&(n=d.getEntry(t.posix.normalize(e))),"object"==typeof e&&void 0!==e.entryName&&void 0!==e.header&&(n=d.getEntry(e.entryName)),n))return n;return null}function y(e){const{join:n,normalize:r,sep:i}=t.posix;return n(t.isAbsolute(e)?"/":".",r(i+e.split("\\").join(i)+i))}function E(e){return e instanceof RegExp?(t=e,function(e){return t.test(e)}):"function"!=typeof e?()=>!0:e;var t}const b=(e,n)=>{let r=n.slice(-1);return r=r===f.sep?f.sep:"",t.relative(e,n)+r};return{readFile:function(e,t){var n=v(e);return n&&n.getData(t)||null},childCount:function(e){const t=v(e);if(t)return d.getChildCount(t)},readFileAsync:function(e,t){var n=v(e);n?n.getDataAsync(t):t(null,"getEntry failed for:"+e)},readAsText:function(e,t){var n=v(e);if(n){var r=n.getData();if(r&&r.length)return r.toString(t||"utf8")}return""},readAsTextAsync:function(e,t,n){var r=v(e);r?r.getDataAsync(function(e,r){r?t(e,r):e&&e.length?t(e.toString(n||"utf8")):t("")}):t("")},deleteFile:function(e,t=!0){var n=v(e);n&&d.deleteFile(n.entryName,t)},deleteEntry:function(e){var t=v(e);t&&d.deleteEntry(t.entryName)},addZipComment:function(e){d.comment=e},getZipComment:function(){return d.comment||""},addZipEntryComment:function(e,t){var n=v(e);n&&(n.comment=t)},getZipEntryComment:function(e){var t=v(e);return t&&t.comment||""},updateFile:function(e,t){var n=v(e);n&&n.setData(t)},addLocalFile:function(n,r,i,o){if(!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{r=r?y(r):"";const e=t.win32.basename(t.win32.normalize(n));r+=i||e;const s=f.fs.statSync(n),a=s.isFile()?f.fs.readFileSync(n):Buffer.alloc(0);s.isDirectory()&&(r+=f.sep),this.addFile(r,a,o,s)}},addLocalFileAsync:function(e,n){e="object"==typeof e?e:{localPath:e};const r=t.resolve(e.localPath),{comment:i}=e;let{zipPath:o,zipName:s}=e;const a=this;f.fs.stat(r,function(e,c){if(e)return n(e,!1);o=o?y(o):"";const l=t.win32.basename(t.win32.normalize(r));if(o+=s||l,c.isFile())f.fs.readFile(r,function(e,t){return e?n(e,!1):(a.addFile(o,t,i,c),setImmediate(n,void 0,!0))});else if(c.isDirectory())return o+=f.sep,a.addFile(o,Buffer.alloc(0),i,c),setImmediate(n,void 0,!0)})},addLocalFolder:function(n,r,i){if(i=E(i),r=r?y(r):"",n=t.normalize(n),!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{const e=f.findFiles(n),o=this;if(e.length)for(const s of e){const e=t.join(r,b(n,s));i(e)&&o.addLocalFile(s,t.dirname(e))}}},addLocalFolderAsync:function(n,r,i,o){o=E(o),i=i?y(i):"",n=t.normalize(n);var s=this;f.fs.open(n,"r",function(t){if(t&&"ENOENT"===t.code)r(void 0,e.Errors.FILE_NOT_FOUND(n));else if(t)r(void 0,t);else{var a=f.findFiles(n),c=-1,l=function(){if((c+=1)<a.length){var e=a[c],t=b(n,e).split("\\").join("/");t=t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),o(t)?f.fs.stat(e,function(n,o){n&&r(void 0,n),o.isFile()?f.fs.readFile(e,function(e,n){e?r(void 0,e):(s.addFile(i+t,n,"",o),l())}):(s.addFile(i+t+"/",Buffer.alloc(0),"",o),l())}):process.nextTick(()=>{l()})}else r(!0,void 0)};l()}})},addLocalFolderAsync2:function(n,r){const i=this;n="object"==typeof n?n:{localPath:n};const o=t.resolve(n.localPath);let{zipPath:s,filter:a,namefix:c}=n;var l;a instanceof RegExp?(l=a,a=function(e){return l.test(e)}):"function"!=typeof a&&(a=function(){return!0}),s=s?y(s):"","latin1"===c&&(c=e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),"function"!=typeof c&&(c=e=>e);const u=e=>t.join(s,c(b(o,e))),p=e=>t.win32.basename(t.win32.normalize(c(e)));f.fs.open(o,"r",function(n){n&&"ENOENT"===n.code?r(e.Errors.FILE_NOT_FOUND(o),!1):n?r(n,!1):f.findFilesAsync(o,function(e,n){return e?r(e,!1):(n=n.filter(e=>a(u(e)))).length?void setImmediate(n.reverse().reduce(function(e,n){return function(r,o){if(r||!1===o)return setImmediate(e,r,!1);i.addLocalFileAsync({localPath:n,zipPath:t.dirname(u(n)),zipName:p(n)},e)}},r)):r(void 0,!0)})})},addLocalFolderPromise:function(e,t){return new Promise((n,r)=>{this.addLocalFolderAsync2(Object.assign({localPath:e},t),(e,t)=>{if(e)return r(e);t&&n(this)})})},addFile:function(e,t,r,i){let o=v(e=g(e));const s=null!=o;s||(o=new n(u),o.entryName=e),o.comment=r||"";const a="object"==typeof i&&i instanceof f.fs.Stats;a&&(o.header.time=i.mtime);var c=o.isDirectory?16:0;let l=o.isDirectory?16384:32768;return l|=a?4095&i.mode:"number"==typeof i?4095&i:o.isDirectory?493:420,c=(c|l<<16)>>>0,o.attr=c,o.setData(t),s||d.setEntry(o),o},getEntries:function(e){return d.password=e,d?d.entries:[]},getEntry:function(e){return v(e)},getEntryCount:function(){return d.getEntryCount()},forEach:function(e){return d.forEach(e)},extractEntryTo:function(n,r,s,a,c,l){a=i(!1,a),c=i(!1,c),s=i(!0,s),l=o(c,l);var u=v(n);if(!u)throw e.Errors.NO_ENTRY();var p=h(u.entryName),g=m(r,l&&!u.isDirectory?h(l):s?p:t.basename(p));if(u.isDirectory)return d.getEntryChildren(u).forEach(function(t){if(t.isDirectory)return;var n=t.getData();if(!n)throw e.Errors.CANT_EXTRACT_FILE();var i=h(s?t.entryName:t.entryName.substring(u.entryName.length)),o=m(r,i);f.assertPathSafe(r,o);const l=c?t.header.fileAttr:void 0;f.writeFileTo(o,n,a,l)}),!0;var y=u.getData(d.password);if(!y)throw e.Errors.CANT_EXTRACT_FILE();if(f.assertPathSafe(r,g),f.fs.existsSync(g)&&!a)throw e.Errors.CANT_OVERRIDE();const E=c?n.header.fileAttr:void 0;return f.writeFileTo(g,y,a,E),!0},test:function(e){if(!d)return!1;for(var t of d.entries)try{if(t.isDirectory)continue;if(!t.getData(e))return!1}catch(e){return!1}return!0},extractAllTo:function(t,n,r,s){if(r=i(!1,r),s=o(r,s),n=i(!1,n),!d)throw e.Errors.NO_ZIP();const a=[];d.entries.forEach(function(i){var o=m(t,h(i.entryName));if(f.assertPathSafe(t,o),i.isDirectory)return f.makeDir(o),void(r&&a.push({path:o,attr:i.header.fileAttr}));var c=i.getData(s);if(!c)throw e.Errors.CANT_EXTRACT_FILE();const l=r?i.header.fileAttr:void 0;f.writeFileTo(o,c,n,l);try{f.fs.utimesSync(o,i.header.time,i.header.time)}catch(e){}}),p(a)},extractAllToAsync:function(n,r,o,s){if(s=((...t)=>e.findLast(t,e=>"function"==typeof e))(r,o,s),o=i(!1,o),r=i(!1,r),!s)return new Promise((e,t)=>{this.extractAllToAsync(n,r,o,function(n){n?t(n):e(this)})});if(!d)return void s(e.Errors.NO_ZIP());n=t.resolve(n);const a=e=>m(n,t.normalize(h(e.entryName))),c=(e,t)=>new Error(e+': "'+t+'"'),l=[],u=[];d.entries.forEach(e=>{e.isDirectory?l.push(e):u.push(e)});const g=[];for(const e of l){const t=a(e),r=o?e.header.fileAttr:void 0;try{f.assertPathSafe(n,t),f.makeDir(t)}catch(e){s(c("Unable to create folder",t));continue}r&&g.push({path:t,attr:r});try{f.fs.utimesSync(t,e.header.time,e.header.time)}catch(e){}}u.reverse().reduce(function(i,s){return function(a){if(a)i(a);else{const a=t.normalize(h(s.entryName)),l=m(n,a);try{f.assertPathSafe(n,l)}catch(e){return i(e)}s.getDataAsync(function(t,n){if(n)i(n);else if(t){const e=o?s.header.fileAttr:void 0;f.writeFileToAsync(l,t,r,e,function(e){if(!e)return i(c("Unable to write file",l));f.fs.utimes(l,s.header.time,s.header.time,function(){i()})})}else i(e.Errors.CANT_EXTRACT_FILE())})}}},e=>{if(!e)try{p(g)}catch(e){return s(c("Unable to set folder permissions",e.path||""))}s(e)})()},writeZip:function(e,t){if(1===arguments.length&&"function"==typeof e&&(t=e,e=""),!e&&u.filename&&(e=u.filename),e){var n=d.compressToBuffer();if(n){var r=f.writeFileTo(e,n,!0);"function"==typeof t&&t(r?null:new Error("failed"),"")}}},writeZipPromise:function(e,t){const{overwrite:n,perm:r}=Object.assign({overwrite:!0},t);return new Promise((t,i)=>{!e&&u.filename&&(e=u.filename),e||i("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(o=>{f.writeFileToAsync(e,o,n,r,e=>e?t(e):i("ADM-ZIP: Wasn't able to write zip file"))},i)})},toBufferPromise:function(){return new Promise((e,t)=>{d.toAsyncBuffer(e,t)})},toBuffer:function(e,t,n,r){return"function"==typeof e?(d.toAsyncBuffer(e,t,n,r),null):d.compressToBuffer()}}},un}(),yn=q(vn);const En=[["B","kB","MB","GB","TB","PB","EB","ZB","YB"],["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"]],bn=e=>{if(e>=1e-6&&e<1e21)return String(e);const[t,n]=e.toExponential().split("e"),r=t.replace(".",""),i=Number(n)+1,o=i>0,s=o?r.padEnd(i,"0"):"0".repeat(1-i)+r,a=s.slice(0,o?i:1),c=s.slice(o?i:1).replace(/0+$/,"");return c?`${a}.${c}`:a},wn=e=>{if("number"==typeof e)return Math.log10(e);const t=e.toString(10);return t.length+Math.log10(`0.${t.slice(0,15)}`)},Ln=(e,t)=>{if(void 0!==t&&("number"!=typeof t||!Number.isInteger(t)||t<0||t>100))throw new TypeError(`Expected ${e} to be an integer between 0 and 100, got ${typeof t}: ${t}`)};function In(e,t){if("bigint"!=typeof e&&!Number.isFinite(e))throw new TypeError(`Expected a finite number, got ${typeof e}: ${e}`);(e=>{if(void 0!==e&&("number"!=typeof e||!Number.isSafeInteger(e)||e<0))throw new TypeError(`Expected fixedWidth to be a non-negative integer, got ${typeof e}: ${e}`)})((t={bits:!1,binary:!1,space:!0,nonBreakingSpace:!1,...t}).fixedWidth);const n=(e=>{const{minimumFractionDigits:t,maximumFractionDigits:n}=e;if(void 0!==t||void 0!==n){if(Ln("minimumFractionDigits",t),Ln("maximumFractionDigits",n),t>n)throw new RangeError(`Expected minimumFractionDigits (${t}) to not be greater than maximumFractionDigits (${n})`);return{...void 0!==t&&{minimumFractionDigits:t},...void 0!==n&&{maximumFractionDigits:n},roundingMode:"trunc"}}})(t),r=En[(t.bits?2:0)+(t.binary?1:0)],i=t.space?t.nonBreakingSpace?" ":" ":"";Object.is(e,-0)&&(e=0);const o=((e,t)=>e<0?"-":t?0===e||0n===e?" ":"+":"")(e,t.signed);e<0&&(e=-e);const s=t.binary?1024:1e3;let a=0;var c;e>=1&&(a=Math.min(Math.floor(t.binary?("number"==typeof(c=e)?Math.log(c):wn(c)*Math.log(10))/Math.log(s):wn(e)/3),r.length-1));const l=((e,t,n)=>{const r=t**n;if("number"==typeof e||e<=Number.MAX_SAFE_INTEGER)return Number(e)/r;const i=BigInt(t)**BigInt(n),o=e%i;return Number(e/i)+Number(o)/r})(e,s,a);let u;if(Number.isFinite(l)){if((e=l)<1&&a>0&&(e*=s,a-=1),!n){const t=Math.max(3,Math.floor(e).toString().length);(e=Number(e.toPrecision(t)))>=s&&a<r.length-1&&(e/=s,a+=1)}u=((e,t,n)=>{if("string"==typeof t||Array.isArray(t)||!0===t){const r=!0===t?void 0:t;if(void 0!==n)return e.toLocaleString(r,n);const i=bn(e),o=i.indexOf("."),s=-1===o?0:i.length-o-1;return s>100?i:e.toLocaleString(r,{maximumFractionDigits:s})}return void 0===n?bn(e):e.toLocaleString("en-US",{...n,useGrouping:!1})})(e,t.locale,n)}else u=((e,t,n,r)=>{const i=BigInt(t)**BigInt(n),o=e/i;if(void 0===r)return o.toString();const s=r.minimumFractionDigits??0,a=Math.max(r.maximumFractionDigits??3,s),c=(e%i*10n**BigInt(a)/i).toString().padStart(a,"0").replace(/0+$/,"").padEnd(s,"0");return c?`${o}.${c}`:o.toString()})(e,s,a,n);return(o+u+i+r[a]).padStart(t.fixedWidth??0)}const Sn=e=>"string"==typeof e?Sn(E(e).size):i.yellowBright(In(e));class Cn{#ne;get ora(){return this.#ne}set attachConsole(e){e?(console.log=this.info.bind(this),console.info=this.info.bind(this)):console=Pn}static Global(e){return _n=new Cn(e),_n}static Clone(e){const{prefixText:t}=e||_n;return new Cn({prefixText:t})}static get Current(){return _n}static set Current(e){_n=e}constructor(e){this.#ne=G(e)}get prefixText(){return this.#ne.prefixText}info(...e){this.#ne.info(Dn(e))}succeed(...e){this.#ne.succeed(Dn(e))}start(...e){this.#ne.start(Dn(e))}fail(...e){this.#ne.fail(Dn(e))}warn(...e){this.#ne.warn(Dn(e))}clear(){this.#ne.clear()}stop(){this.#ne.stop()}stopAndPersist(...e){this.#ne.stopAndPersist(...e)}}let _n=new Cn;const Dn=e=>e.length?e.join(" "):void 0,Pn=console;class Nn{spinner;debugMode;constructor(e,t){this.spinner=new Cn({prefixText:e}),this.debugMode=t?.debug??!1}start(...e){this.spinner.start(...e)}succeed(...e){this.spinner.succeed(...e)}fail(...e){this.spinner.fail(...e)}error(...e){console.log(...e)}warn(...e){this.spinner.warn(...e)}info(...e){this.spinner.info(...e)}log(...e){this.spinner.info(...e)}debug(...e){this.debugMode&&console.debug(...e)}startNativeConsoleCapture(){this.spinner.attachConsole=!0}stopNativeConsoleCapture(){this.spinner.attachConsole=!1}}const On=e=>{const t=e.mock??e.mockDiscovery,n={spa:{templateEnv:(r=e.template,i=e.mock,{portal:{id:"@equinor/fusion-framework-dev-portal"},title:"Fusion Dev Portal",serviceDiscovery:{url:"/@fusion-services",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},msal:{clientId:"9b707e3a-3e90-41ed-a47e-652a1e3b53d0",tenantId:"3aa4a235-b6e2-48d5-9195-7fcf05b459b0",redirectUri:"/authentication/login-callback",requiresAuth:"true",...i?{mock:"true",mockServerUrl:i}:{}},serviceWorker:{resources:[{url:"/apps-proxy",rewrite:"/@fusion-api/apps",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/@fusion-api/apps",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/help-proxy",rewrite:"/@fusion-api/help",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/portal-proxy",rewrite:"/@fusion-api/portal-config",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/@fusion-api/portal-config",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]}]},...r})},api:{serviceDiscoveryUrl:t?new URL("/@fusion-mock/discovery",t).href:"https://discovery.fusion.equinor.com/service-registry/environments/ci/services/",headers:{"X-Fusion-Mock":String(Boolean(t))},processServices:(e,t)=>{const{data:n,routes:r}=j(e,t);return{data:n.concat({key:"portals",name:"Portal Service - MOCK",uri:"/@fusion-api/portals"}),routes:r}}}};var r,i;return e.app&&((e,t,n)=>{const{build:r,appKey:i}=t;if(!r)throw new Error("App manifest does not contain build information");e.api.routes??=[],e.api.routes.push({match:[`/apps/bundles/apps/${i}/${r.version}/*path`,`/apps/bundles/apps/${i}@${r.version}/*path`],middleware:async(e,t,n)=>{const r=e.params?.path;!1===Array.isArray(r)&&n(),t.writeHead(302,{"content-type":"application/javascript",location:`/${r.join("/")}`}),t.end()}}),e.api.routes.push({match:`/apps/persons/me/apps/${i}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify({id:"dev-server-generated-id",...t}))}}),e.api.routes.push({match:`/apps/apps/${i}/builds/${r.version}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(n,e.app.manifest,e.app.config),e.portal&&((e,t,n)=>{e.api.routes??=[];const r="portal-config";e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify(t))}}),n&&e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(n,e.portal.manifest,e.portal.config),n},An=e=>({portal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.portal:void 0,msal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.msal:void 0,proxy:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.serviceWorker?.resources:void 0,serviceDiscoveryUrl:e.api.serviceDiscoveryUrl,routes:e.api.routes});const Rn=async(e,t,n)=>{const{overrides:i,log:o}=n??{},s=t.mock?void 0:function(e,t){const n=e.root??process.cwd(),i=r(e.mode,t?a(n,t):n,"FUSION_SPA_MSAL_MOCK");if("true"===i.FUSION_SPA_MSAL_MOCK)return i.FUSION_SPA_MSAL_MOCK_SERVER_URL||"http://localhost:4010"}(e,"string"==typeof i?.envDir?i.envDir:void 0);s&&o?.info(`FUSION_SPA_MSAL_MOCK is enabled, using mock service discovery at ${s}`);const c=On({...t,mockDiscovery:t.mockDiscovery??s});o?.debug("\nBase dev server config:",An(c)),o?.debug("\nCreating dev server with overrides:",i);let l,u=c;try{const t=await(async(e,t,n)=>I("dev-server.config",{baseDir:e.root,extensions:n?.extensions,script:{resolve:async n=>{let r;if("function"==typeof n.default){const i={...t};r=await n.default(e,{base:i})}else r=n.default;return lt(t,r??{})}}}))(e,c);u=t.config;const{path:n}=t;o?.debug(`\nLoaded dev server config from ${n}`),o?.debug("\nLoaded dev server config:",An(u)),l=((e,t)=>({name:"fusion:dev-server-config-watcher",configureServer(n){n.watcher.add(e),n.watcher.on("change",r=>{r===e&&(t?.info(`\n${e} changed, restarting dev server...`),n.restart())}),t?.debug(`Watching dev-server.config.ts at: ${e}`)}}))(n,o)}catch(e){o?.warn("\nFailed to load dev server config:",e instanceof Error?e.message:String(e))}const f=t.mock??t.mockDiscovery??s;if(f&&new URL(u.api.serviceDiscoveryUrl).origin!==new URL(f).origin)throw new Error(`Mock mode is enabled (${f}), but service discovery points at ${u.api.serviceDiscoveryUrl}. Remove the api.serviceDiscoveryUrl override from dev-server.config, or run without mock auth.`);const p=l?{...i,plugins:[...i?.plugins??[],l]}:i;return H(u,p)},$n="fusion-framework-cli",Tn={"X-Fusion-CLI-Name":$n,"X-Fusion-CLI-Version":gt,"User-Agent":`${$n}/${gt}`},xn=e=>{const t=new Headers(e.headers);for(const[e,n]of Object.entries(Tn))t.has(e)||t.set(e,n);return{...e,headers:t}},Un={AUTH_DOCS_URL:"https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md",APP_DOCS_URL:"https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md"};function Fn(){if(process.env.FUSION_TOKEN)return[i.bold("ðĄ FUSION_TOKEN detected"),i.dim(" The CLI is using this token instead of your interactive login session."),i.dim(" If this is unintended, unset the variable and retry, or verify that the token has the correct scope/audience.")].join("\n")}const{AUTH_DOCS_URL:kn,APP_DOCS_URL:Bn}=Un;function Mn(e,t){switch(e){case 401:return function(e){const t=["",i.redBright(`ðŦ Authentication failed: unable to ${e}`),""," No valid token was provided or the token has expired.",""],n=Fn();return n&&t.push(n,""),t.push(i.whiteBright(" Troubleshooting:"),"",` ${i.cyan("1.")} For CI/CD, verify that ${i.bold("FUSION_TOKEN")} is set and the token has not expired.`,` ${i.cyan("2.")} For local development, run ${i.greenBright.bold("ffc auth login")} to refresh your credentials.`,` ${i.cyan("3.")} Verify that ${i.bold("--scope")} targets the correct API audience for your environment.`,"",` ${i.dim("Auth docs:")} ${i.blueBright.underline(kn)}`,` ${i.dim("Publish docs:")} ${i.blueBright.underline(Bn)}`,""),t.join("\n")}(t);case 403:return function(e){const t=["",i.redBright(`ðŦ Authorization failed: not permitted to ${e}`),"","â ïļ Your token is valid but does not have the required permissions for this operation.",""],n=Fn();return n&&t.push(n,""),t.push(i.whiteBright(" Troubleshooting:"),"",` ${i.cyan("1.")} Verify that your user or service principal has publish permissions for this application.`,` ${i.cyan("2.")} Check that the token's ${i.bold("scope / audience")} matches the target environment.`,` ${i.cyan("3.")} Confirm that the application is registered and your account has the correct role assignment.`,"",` ${i.dim("Auth docs:")} ${i.blueBright.underline(kn)}`,` ${i.dim("Publish docs:")} ${i.blueBright.underline(Bn)}`,""),t.join("\n")}(t);default:return}}const{AUTH_DOCS_URL:Gn,APP_DOCS_URL:jn}=Un;function Hn(e,t){if(!(e instanceof Error))return;const n="SilentTokenAcquisitionError"===e.name,r=e,o=r.response?r.response.status:void 0,s=401===o||403===o;let a=!1,c=e.cause;for(let e=0;e<5&&c&&c instanceof Error;e++){if("SilentTokenAcquisitionError"===c.name){a=!0;break}c=c.cause}if(!n&&!s&&!a)return;if(s&&!n&&!a)return Mn(o,t);const l=function(e){let t=e;for(let e=0;e<5&&t;e++){if(!(t instanceof Error)){if("object"==typeof t&&"errorMessage"in t){const e=t.errorMessage;if("string"==typeof e){const t=e.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return t?.[1]?.trim()??e.split(" - ")[0]?.trim()}break}break}{const e=t;if("string"==typeof e.errorMessage){const t=e.errorMessage,n=t.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return n?.[1]?.trim()??t.split(" - ")[0]?.trim()}t=t.cause}}}(e),u=["",i.redBright(`ð Token acquisition failed: unable to ${t}`),"",i.yellow(`â ïļ ${l??"The CLI could not silently acquire an access token for this operation."}`),""],f=Fn();return f&&u.push(f,""),u.push(i.whiteBright(" Troubleshooting:"),"",` ${i.cyan("1.")} Run ${i.greenBright.bold("ffc auth login")} to refresh your local credentials.`,` ${i.cyan("2.")} For CI/CD, set a fresh ${i.bold("FUSION_TOKEN")} â cached refresh tokens may have expired.`,` ${i.cyan("3.")} Verify that ${i.bold("--scope")} targets the correct API audience for your environment.`,"",` ${i.dim("Auth docs:")} ${i.blueBright.underline(Gn)}`,` ${i.dim("Publish docs:")} ${i.blueBright.underline(jn)}`,""),u.join("\n")}const zn=(e,t,n)=>{const r=s(String(e));b(r)||w(r,{recursive:!0}),L(e,t,n)},qn=["package.json","LICENSE.md","README.md","CHANGELOG.md"],Vn=async(e,t)=>{const{archive:n,log:r}=t??{},o=s(e.path),c=t?.buildDir??"dist",l=a(o,c);if(!(await B(l)).isDirectory())throw new Error(`Build directory ${c} does not exist`);r?.log(i.bold("Starting to pack bundle"));const u=new yn;if(u.addLocalFolder(l,c),t?.content)for(const[e,n]of Object.entries(t.content))u.addFile(e,Buffer.from(n)),r?.info("ð",It(e,{relative:!0}));r?.info("ð",It(l,{relative:!0}));for(const t of qn.concat(e.packageJson.files??[])){const e=a(o,t),n=s(e.replace(o,""));st(e)?(u.addLocalFile(e,n),r?.info("ð",It(e,{relative:!0}))):r?.warn(i.dim("ð",It(e,{relative:!0})))}return n&&(st(s(n))||await M(s(n),{recursive:!0}),r?.start("compressing content"),await u.writeZipPromise(n),r?.succeed("ð",It(n,{relative:!0}),Sn(n))),u},Wn=async e=>{const{log:t,manifest:n,snapshot:r}=e;process.env.NODE_ENV,process.cwd();const{pkg:i,manifest:o}=await Dt({log:t,manifest:n,snapshot:r});if(!o.build)throw new Error("Manifest build config not found");return{archive:await Vn(i,{log:t,archive:e?.archive,content:{"app-manifest.json":JSON.stringify(o.build,null,2),"metadata.json":JSON.stringify({appKey:o.appKey,name:o.appKey,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o}},Zn=async(e,t)=>{const{log:n}=t;try{n?.start("create application configuration"),n?.info(`generating config with ${i.red.dim(e.command)} command in ${i.green.dim(e.mode)} mode`);const r=await((e,t)=>{const n=t?.file??[`app.config.${e.environment}`,"app.config"];return I(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{environment:{}};if("function"==typeof n.default){const t=await n.default(e,{base:r})??r;return Lt.parse(t??r)}return Lt.parse(n.default??r)}}})})(e,{file:t?.config});return n?.succeed("âïļ generated config from ",It(r.path,{relative:!0})),r.config}catch(e){if(e instanceof S){if(!t.config)return n?.succeed(i.dim("âïļ no local application config applied, using built-in")),{environment:{},endpoints:{}};n?.warn(`failed to load config file ${It(t.config)}, please check the path.`)}throw n?.fail("failed to resolve application config"),n?.debug(e),e}},Kn=async e=>{const{log:t}=e??{};let n;try{t?.start("resolve project package"),n=await Ct(null),t?.succeed("ðĶ",i.yellowBright([n.packageJson.name,n.packageJson.version].join("@"))),t?.info("ð ",i.blueBright(n.root))}catch{t?.info("Failed to resolve project package, using current directory as root")}const r=n?.root??process.cwd(),o={command:"build",mode:process.env.NODE_ENV??"production",root:r,...e?.env},s=await Zn(o,{log:t,config:e?.config});if(t?.debug("config:",s),e?.output){t?.start("writing config to file");try{await zn(e.output,JSON.stringify(s,null,2)),t?.succeed("config written successfully",It(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:s,pkg:n}};class Yn extends Error{response;static Name="HttpResponseError";constructor(e,t,n){super(e,n),this.response=t}}class Xn extends Yn{static Name="HttpJsonResponseError";data;constructor(e,t,n){super(e,t,n),this.name=Xn.Name,this.data=n?.data}}class Jn extends Yn{static Name="ServerSentEventResponseError";constructor(e,t,n){super(e,t,n),this.name=Jn.Name}}class Qn extends Error{}const er=async e=>{const{log:t,config:n,appKey:r,buildVersion:i,framework:o}=e;try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("ð","Executing request to:",It(e.uri))}),t?.start("Publishing application config");const s=await e.json(`/apps/${r}/builds/${i}/config`,{method:"PUT",body:n,headers:Tn});t?.debug("Response:",s),t?.succeed("Published application config")}catch(e){if(e instanceof Xn)switch(e.response.status){case 410:t?.fail("ðĪŽ",`App ${r} is deleted from apps-service. Please check the app key and try again.`);break;case 404:t?.fail("ðĪŽ",`App ${r} not found. Please check the app key and try again.`);break;case 403:case 401:{const n=Mn(e.response.status,`publish config for ${r}`);t?.fail("ð","Authentication/authorization error publishing app config."),n&&t?.error(n),process.exit(1);break}default:t?.fail("ðĪŽ","Failed to publish application config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const n=Hn(e,`publish config for ${r}`);n&&(t?.fail("ð",`Token acquisition failed publishing config for ${r}`),t?.error(n),process.exit(1)),t?.fail("ðĪŽ","Failed to publish app config:",e instanceof Error?e.message:String(e)),process.exit(1)}},tr=async e=>{const{log:n}=e??{},r="@equinor/fusion-framework-dev-portal",i=await Ct(n),o={root:i.root,environment:"local",...e?.env,mode:"development",command:"serve"},a=await St(o,i,{log:n,manifestPath:e?.manifest}),c=await Zn(o,{log:n,config:e?.config});let l,u;const p=d(import.meta.resolve(r));st(p)?(l=p,u=await f({cwd:p}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${r} is external, skipping entry point resolution`);const h=await ut(o,i),m=u?[i.root,u]:[i.root];n?.debug(`File system access allowed for: \n${m.join("\n")}\n`);const g=t(h,{server:{port:e?.port||3e3,host:e?.host||h.server?.host||"localhost",fs:{allow:m}}}),v={template:{portal:{id:r}},app:{manifest:a,config:c},mock:e?.mock};l&&(v.portal={manifest:{name:r,build:{templateEntry:l,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",g),n?.debug("dev server config:",v),n?.start("Starting app development server...");const y=await Rn(o,v,{overrides:g,log:n});await y.listen(),n?.succeed("App development server started successfully");const E=y.config.server.https?"https":"http",b=y.config.server.host||"localhost",w=y.config.server.port||5173;return n?.info(`App development server is running at: ${E}://${b}:${w}/apps/${a.appKey}`),y},nr=async e=>{const{log:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve application");const c="@equinor/fusion-framework-dev-portal",l=await Ct(n);n?.start("Loading Vite config...");const u=await ut({root:l.root,command:"build",mode:"production"},l);n?.succeed("Vite config loaded");const p=r||(u.build?.outDir||"dist"),h=a(l.root,p),m={root:l.root,environment:"local",mode:"production",command:"serve",isPreview:!0},g=await St(m,l,{log:n,manifestPath:e?.manifest}),v=await Zn(m,{log:n,config:e?.config});if(n?.debug("Output directory:",h),!b(h))throw new Error(`Build directory does not exist: ${h}\nPlease build the application first using \`ffc app build\``);let y,E;const w=d(import.meta.resolve(c));st(w)?(y=w,E=await f({cwd:w}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${c} is external, skipping entry point resolution`);const L=await ut(m,l),I=E?[l.root,E,h]:[l.root,h];n?.debug(`File system access allowed for: \n${I.join("\n")}\n`);const S=t(L,{server:{port:i,host:o||L.server?.host||"localhost",fs:{allow:I}}}),C={template:{portal:{id:c}},app:{manifest:g,config:v},mock:e?.mock};y&&(C.portal={manifest:{name:c,build:{templateEntry:y,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",S),n?.debug("dev server config:",C),n?.start("Starting preview server with dev-portal...");try{const e=await Rn(m,C,{overrides:S,log:n});await e.listen(),n?.succeed("Preview server started successfully");const t=e.config.server?.https?"https":"http",r=e.config.server?.host||o,s=e.config.server?.port||i;return n?.info(`Preview server is running at: ${t}://${r}:${s}`),g.appKey&&n?.info(`App URL: ${t}://${r}:${s}/apps/${g.appKey}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}};class rr extends A{satisfies(e){return R(this,e)}}var ir=function(e,t){return ir=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},ir(e,t)};function or(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}ir(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var sr=function(){return sr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},sr.apply(this,arguments)};function ar(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,a)}c((r=r.apply(e,t||[])).next())})}function cr(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function lr(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function ur(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function fr(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function pr(e){return this instanceof pr?(this.v=e,this):new pr(e)}function dr(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",function(e){return function(t){return Promise.resolve(t).then(e,l)}}),r[Symbol.asyncIterator]=function(){return this},r;function s(e,t){i[e]&&(r[e]=function(t){return new Promise(function(n,r){o.push([e,t,n,r])>1||a(e,t)})},t&&(r[e]=t(r[e])))}function a(e,t){try{(n=i[e](t)).value instanceof pr?Promise.resolve(n.value.v).then(c,l):u(o[0][2],n)}catch(e){u(o[0][3],e)}var n}function c(e){a("next",e)}function l(e){a("throw",e)}function u(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function hr(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=lr(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,i){(function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)})(r,i,(t=e[n](t)).done,t.value)})}}}function mr(e){return"function"==typeof e}function gr(e){var t=e(function(e){Error.call(e),e.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}"function"==typeof SuppressedError&&SuppressedError;var vr=gr(function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}});function yr(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var Er=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}var t;return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=lr(o),a=s.next();!a.done;a=s.next()){a.value.remove(this)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(mr(c))try{c()}catch(e){i=e instanceof vr?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=lr(l),f=u.next();!f.done;f=u.next()){var p=f.value;try{Lr(p)}catch(e){i=null!=i?i:[],e instanceof vr?i=fr(fr([],ur(i)),ur(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new vr(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)Lr(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&yr(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&yr(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=((t=new e).closed=!0,t),e}(),br=Er.EMPTY;function wr(e){return e instanceof Er||e&&"closed"in e&&mr(e.remove)&&mr(e.add)&&mr(e.unsubscribe)}function Lr(e){mr(e)?e():e.unsubscribe()}var Ir={Promise:void 0},Sr=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,fr([e,t],ur(n)))};function Cr(e){Sr(function(){throw e})}function _r(){}function Dr(e){e()}var Pr=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,wr(t)&&t.add(n)):n.destination=Rr,n}return or(t,e),t.create=function(e,t,n){return new Or(e,t,n)},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(Er),Nr=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){Ar(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){Ar(e)}else Ar(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){Ar(e)}},e}(),Or=function(e){function t(t,n,r){var i,o=e.call(this)||this;return i=mr(t)||!t?{next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:t,o.destination=new Nr(i),o}return or(t,e),t}(Pr);function Ar(e){Cr(e)}var Rr={closed:!0,next:_r,error:function(e){throw e},complete:_r},$r="function"==typeof Symbol&&Symbol.observable||"@@observable";function Tr(e){return e}var xr=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r,i=this,o=(r=e)&&r instanceof Pr||function(e){return e&&mr(e.next)&&mr(e.error)&&mr(e.complete)}(r)&&wr(r)?e:new Or(e,t,n);return Dr(function(){var e=i,t=e.operator,n=e.source;o.add(t?t.call(o,n):n?i._subscribe(o):i._trySubscribe(o))}),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=Ur(t))(function(t,r){var i=new Or({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[$r]=function(){return this},e.prototype.pipe=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(0===(e=t).length?Tr:1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)})(this)},e.prototype.toPromise=function(e){var t=this;return new(e=Ur(e))(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function Ur(e){var t;return null!==(t=null!=e?e:Ir.Promise)&&void 0!==t?t:Promise}function Fr(e){return function(t){if(function(e){return mr(null==e?void 0:e.lift)}(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw new TypeError("Unable to lift unknown Observable type")}}function kr(e,t,n,r,i){return new Br(e,t,n,r,i)}var Br=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,a._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,a._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,a}return or(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Pr),Mr=gr(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Gr=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return or(t,e),t.prototype.lift=function(e){var t=new jr(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new Mr},t.prototype.next=function(e){var t=this;Dr(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=lr(t.currentObservers),o=i.next();!o.done;o=i.next()){o.value.next(e)}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;Dr(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;Dr(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,o=n.observers;return r||i?br:(this.currentObservers=null,o.push(e),new Er(function(){t.currentObservers=null,yr(o,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new xr;return e.source=this,e},t.create=function(e,t){return new jr(e,t)},t}(xr),jr=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return or(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:br},t}(Gr),Hr=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return or(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(Gr),zr={now:function(){return(zr.delegate||Date).now()},delegate:void 0},qr=function(e){function t(t,n,r){void 0===t&&(t=1/0),void 0===n&&(n=1/0),void 0===r&&(r=zr);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return or(t,e),t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,s=n._timestampProvider,a=n._windowTime;r||(i.push(t),!o&&i.push(s.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!e.closed;i+=n?1:2)e.next(r[i]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,o=(i?1:2)*t;if(t<1/0&&o<r.length&&r.splice(0,r.length-o),!i){for(var s=n.now(),a=0,c=1;c<r.length&&r[c]<=s;c+=2)a=c;a&&r.splice(0,a+1)}},t}(Gr),Vr=function(e){function t(t,n){return e.call(this)||this}return or(t,e),t.prototype.schedule=function(e,t){return this},t}(Er),Wr=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,fr([e,t],ur(n)))},Zr=function(e){return clearInterval(e)},Kr=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return or(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),Wr(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&Zr(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,yr(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Vr),Yr=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=zr.now,e}(),Xr=function(e){function t(t,n){void 0===n&&(n=Yr.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return or(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(Yr),Jr=new Xr(Kr),Qr=Jr,ei=new xr(function(e){return e.complete()});function ti(e){return e&&mr(e.schedule)}function ni(e){return e[e.length-1]}var ri=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function ii(e){return mr(null==e?void 0:e.then)}function oi(e){return mr(e[$r])}function si(e){return Symbol.asyncIterator&&mr(null==e?void 0:e[Symbol.asyncIterator])}function ai(e){return new TypeError("You provided "+(null!==e&&"object"==typeof e?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var ci="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function li(e){return mr(null==e?void 0:e[ci])}function ui(e){return dr(this,arguments,function(){var t,n,r;return cr(this,function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,pr(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,pr(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,pr(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function fi(e){return mr(null==e?void 0:e.getReader)}function pi(e){if(e instanceof xr)return e;if(null!=e){if(oi(e))return i=e,new xr(function(e){var t=i[$r]();if(mr(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(ri(e))return r=e,new xr(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()});if(ii(e))return n=e,new xr(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,Cr)});if(si(e))return di(e);if(li(e))return t=e,new xr(function(e){var n,r;try{for(var i=lr(t),o=i.next();!o.done;o=i.next()){var s=o.value;if(e.next(s),e.closed)return}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()});if(fi(e))return di(ui(e))}var t,n,r,i;throw ai(e)}function di(e){return new xr(function(t){(function(e,t){var n,r,i,o;return ar(this,void 0,void 0,function(){var s,a;return cr(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=hr(e),c.label=1;case 1:return[4,n.next()];case 2:if((r=c.sent()).done)return[3,4];if(s=r.value,t.next(s),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),i={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})})(e,t).catch(function(e){return t.error(e)})})}function hi(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function mi(e,t){return void 0===t&&(t=0),Fr(function(n,r){n.subscribe(kr(r,function(n){return hi(r,e,function(){return r.next(n)},t)},function(){return hi(r,e,function(){return r.complete()},t)},function(n){return hi(r,e,function(){return r.error(n)},t)}))})}function gi(e,t){return void 0===t&&(t=0),Fr(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function vi(e,t){if(!e)throw new Error("Iterable cannot be null");return new xr(function(n){hi(n,t,function(){var r=e[Symbol.asyncIterator]();hi(n,t,function(){r.next().then(function(e){e.done?n.complete():n.next(e.value)})},0,!0)})})}function yi(e,t){if(null!=e){if(oi(e))return function(e,t){return pi(e).pipe(gi(t),mi(t))}(e,t);if(ri(e))return function(e,t){return new xr(function(n){var r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}(e,t);if(ii(e))return function(e,t){return pi(e).pipe(gi(t),mi(t))}(e,t);if(si(e))return vi(e,t);if(li(e))return function(e,t){return new xr(function(n){var r;return hi(n,t,function(){r=e[ci](),hi(n,t,function(){var e,t,i;try{t=(e=r.next()).value,i=e.done}catch(e){return void n.error(e)}i?n.complete():n.next(t)},0,!0)}),function(){return mr(null==r?void 0:r.return)&&r.return()}})}(e,t);if(fi(e))return function(e,t){return vi(ui(e),t)}(e,t)}throw ai(e)}function Ei(e,t){return t?yi(e,t):pi(e)}function bi(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=function(e){return ti(ni(e))?e.pop():void 0}(e);return Ei(e,n)}var wi=gr(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function Li(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o,s=!1;e.subscribe({next:function(e){o=e,s=!0},error:i,complete:function(){s?r(o):n?r(t.defaultValue):i(new wi)}})})}function Ii(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o=new Or({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new wi)}});e.subscribe(o)})}function Si(e){return e instanceof Date&&!isNaN(e)}var Ci=gr(function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function _i(e){throw new Ci(e)}function Di(e,t){return Fr(function(n,r){var i=0;n.subscribe(kr(r,function(n){r.next(e.call(t,n,i++))}))})}var Pi=Array.isArray;function Ni(e){return Di(function(t){return function(e,t){return Pi(t)?e.apply(void 0,fr([],ur(t))):e(t)}(e,t)})}function Oi(e,t,n,r,i,o,s,a){var c=[],l=0,u=0,f=!1,p=function(){!f||c.length||l||t.complete()},d=function(e){return l<r?h(e):c.push(e)},h=function(e){o&&t.next(e),l++;var a=!1;pi(n(e,u++)).subscribe(kr(t,function(e){null==i||i(e),o?d(e):t.next(e)},function(){a=!0},void 0,function(){if(a)try{l--;for(var e=function(){var e=c.shift();s||h(e)};c.length&&l<r;)e();p()}catch(e){t.error(e)}}))};return e.subscribe(kr(t,d,function(){f=!0,p()})),function(){null==a||a()}}function Ai(e,t,n){return void 0===n&&(n=1/0),mr(t)?Ai(function(n,r){return Di(function(e,i){return t(n,e,r,i)})(pi(e(n,r)))},n):("number"==typeof t&&(n=t),Fr(function(t,r){return Oi(t,r,e,n)}))}var Ri=["addListener","removeListener"],$i=["addEventListener","removeEventListener"],Ti=["on","off"];function xi(e,t,n,r){if(mr(n)&&(r=n,n=void 0),r)return xi(e,t,n).pipe(Ni(r));var i=ur(function(e){return mr(e.addEventListener)&&mr(e.removeEventListener)}(e)?$i.map(function(r){return function(i){return e[r](t,i,n)}}):function(e){return mr(e.addListener)&&mr(e.removeListener)}(e)?Ri.map(Ui(e,t)):function(e){return mr(e.on)&&mr(e.off)}(e)?Ti.map(Ui(e,t)):[],2),o=i[0],s=i[1];if(!o&&ri(e))return Ai(function(e){return xi(e,t,n)})(pi(e));if(!o)throw new TypeError("Invalid event target");return new xr(function(e){var t=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1<t.length?t:t[0])};return o(t),function(){return s(t)}})}function Ui(e,t){return function(n){return function(r){return e[n](t,r)}}}function Fi(e,t,n){void 0===e&&(e=0),void 0===n&&(n=Qr);var r=-1;return null!=t&&(ti(t)?n=t:r=t),new xr(function(t){var i=Si(e)?+e-n.now():e;i<0&&(i=0);var o=0;return n.schedule(function(){t.closed||(t.next(o++),0<=r?this.schedule(void 0,r):t.complete())},i)})}function ki(e,t){return Fr(function(n,r){var i=0;n.subscribe(kr(r,function(n){return e.call(t,n,i++)&&r.next(n)}))})}function Bi(e){return Fr(function(t,n){var r,i=null,o=!1;i=t.subscribe(kr(n,void 0,void 0,function(s){r=pi(e(s,Bi(e)(t))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(n))})}function Mi(e,t,n,r,i){return function(o,s){var a=n,c=t,l=0;o.subscribe(kr(s,function(t){var n=l++;c=a?e(c,t,n):(a=!0,t),r&&s.next(c)},i&&function(){a&&s.next(c),s.complete()}))}}function Gi(e,t){return Fr(Mi(e,t,arguments.length>=2,!1,!0))}function ji(e){return Fr(function(t,n){var r=!1;t.subscribe(kr(n,function(e){r=!0,n.next(e)},function(){r||n.next(e),n.complete()}))})}function Hi(e,t){return void 0===t&&(t=Tr),e=null!=e?e:zi,Fr(function(n,r){var i,o=!0;n.subscribe(kr(r,function(n){var s=t(n);!o&&e(i,s)||(o=!1,i=s,r.next(n))}))})}function zi(e,t){return e===t}function qi(e){return void 0===e&&(e=Vi),Fr(function(t,n){var r=!1;t.subscribe(kr(n,function(e){r=!0,n.next(e)},function(){return r?n.complete():n.error(e())}))})}function Vi(){return new wi}function Wi(e){return Fr(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function Zi(e,t){var n=arguments.length>=2;return function(e){return e.pipe(Tr,(r=1)<=0?function(){return ei}:Fr(function(e,t){var n=[];e.subscribe(kr(t,function(e){n.push(e),r<n.length&&n.shift()},function(){var e,r;try{for(var i=lr(n),o=i.next();!o.done;o=i.next()){var s=o.value;t.next(s)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}t.complete()},void 0,function(){n=null}))}),n?ji(t):qi(function(){return new wi}));var r}}function Ki(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var i=new Or({next:function(){i.unsubscribe(),e()}});return pi(t.apply(void 0,fr([],ur(n)))).subscribe(i)}}else e()}function Yi(e,t){return Fr(function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(kr(r,function(n){null==i||i.unsubscribe();var s=0,c=o++;pi(e(n,c)).subscribe(i=kr(r,function(e){return r.next(t?t(n,e,c,s++):e)},function(){i=null,a()}))},function(){s=!0,a()}))})}function Xi(e){return Fr(function(t,n){pi(e).subscribe(kr(n,function(){return n.complete()},_r)),!n.closed&&t.subscribe(n)})}function Ji(e,t,n){var r=mr(e)||t||n?{next:e,error:t,complete:n}:e;return r?Fr(function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;e.subscribe(kr(t,function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)},function(){var e;i=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()},function(e){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)},function(){var e,t;i&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)}))}):Tr}function Qi(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r=mr(ni(n=e))?n.pop():void 0;return Fr(function(t,n){for(var i=e.length,o=new Array(i),s=e.map(function(){return!1}),a=!1,c=function(t){pi(e[t]).subscribe(kr(n,function(e){o[t]=e,a||s[t]||(s[t]=!0,(a=s.every(Tr))&&(s=null))},_r))},l=0;l<i;l++)c(l);t.subscribe(kr(n,function(e){if(a){var t=fr([e],ur(o));n.next(r?r.apply(void 0,fr([],ur(t))):t)}}))})}const eo=(e,t,n)=>{const r="string"==typeof t?t.split("."):t,i=r.shift();return i&&(e[i]??={},r.length?eo(e[i],r,n):Object.assign(e,{[i]:n})),e};class to{#re={};createConfig(e,t){return Ei(this._createConfig(e,t))}async createConfigAsync(e,t){return Li(this.createConfig(e,t))}_set(e,t){const n="function"==typeof t?t:async()=>t;this.#re[e]=n}_get(e){return this.#re[e]}_has(e){return e in this.#re}_createConfig(e,t){return Ei(this._buildConfig(e,t)).pipe(Yi(t=>this._processConfig(t,e)))}_buildConfig(e,t){return Ei(Object.entries(this.#re)).pipe(Ai(([t,n])=>Ei(n(e)).pipe(ki(e=>void 0!==e),Di(e=>({target:t,value:e})),Bi(e=>(console.error(`Failed to execute config callback: ${n.name} for attribute: '${t}'`,e),ei)))),Gi((e,{target:t,value:n})=>eo(e,t,n),t??{}))}_processConfig(e,t){return bi(e)}}class no extends Error{constructor(){super("Module initialization timed out"),this.name="RequiredModuleTimeoutError"}}const ro="ModuleConfigurator",io={ModuleConfigAdded:`${ro}.module.configAdded`,OnConfiguredAdded:`${ro}.onConfigured.added`,OnInitializedAdded:`${ro}.onInitialized.added`,PluginAdded:`${ro}.plugin.added`,InitializeConfigLoaded:`${ro}.config.loaded`,InitializeInstanceInitialized:`${ro}.instance.initialized`,Initialize:`${ro}.initialize.complete`,ConfiguratorCreated:`${ro}.configurator.created`,ConfiguratorFailed:`${ro}.configurator.failed`,ModulePostConfigured:`${ro}.module.postConfigured`,ModulePostConfigureError:`${ro}.module.postConfigureError`,PostConfigureHooks:`${ro}.postConfigureHooks.started`,PostConfigureHooksComplete:`${ro}.postConfigureHooks.complete`,PostConfigureHooksError:`${ro}.postConfigureHooks.error`,ModuleInitializeError:`${ro}.module.initializeError`,ModuleInitializing:`${ro}.module.initializing`,ProviderNotBaseModuleProvider:`${ro}.provider.invalidBase`,ProviderVersionWarning:`${ro}.provider.versionMissing`,ModuleInitialized:`${ro}.module.initialized`,RequireInstanceModuleNotDefined:`${ro}.requireInstance.moduleNotDefined`,RequireInstanceModuleAlreadyInitialized:`${ro}.requireInstance.moduleAlreadyInitialized`,RequireInstanceAwaitingModule:`${ro}.requireInstance.awaitingModule`,RequireInstanceTimeout:`${ro}.requireInstance.timeout`,RequireInstanceModuleResolved:`${ro}.requireInstance.moduleResolved`,ModuleInitializeComplete:`${ro}.modules.initializeComplete`,InitializeComplete:`${ro}.initialize.instanceComplete`,ConfiguratorPostInitializeStart:`${ro}.postInitialize.started`,ModulePostInitializeStart:`${ro}.modulePostInitialize.started`,ModulePostInitializeComplete:`${ro}.modulePostInitialize.complete`,ModulePostInitializeError:`${ro}.modulePostInitialize.error`,PostInitializeComplete:`${ro}.postInitialize.complete`,PostInitializeCompleteNoHooks:`${ro}.postInitialize.noHooks`,PostInitializeHooks:`${ro}.postInitializeHooks.started`,PostInitializeHooksComplete:`${ro}.postInitializeHooks.complete`,PostInitializeHooksError:`${ro}.postInitializeHooks.error`,PluginsRegister:`${ro}.plugins.registering`,PluginRegistered:`${ro}.plugin.registered`,PluginRegisterError:`${ro}.plugin.registerError`,PluginsRegistered:`${ro}.plugins.registered`,Dispose:`${ro}.dispose.started`,PluginsDisposing:`${ro}.plugins.disposing`,PluginDisposed:`${ro}.plugin.disposed`,PluginDisposeError:`${ro}.plugin.disposeError`,ModulesDispose:`${ro}.modules.disposing`,ModuleDisposed:`${ro}.module.disposed`,ModuleDisposeError:`${ro}.module.disposeError`,ModulesDisposed:`${ro}.modules.disposed`};var oo;async function so(e,t){const n=await async function(e,t){const{modules:n,afterConfiguration:r,afterInit:i,registerEvent:o}=e;return Li(Ei(n).pipe(Ai(async e=>{const n=performance.now();try{const r=await(e.configure?.(t)),i=Math.round(performance.now()-n);return o({level:oo.Debug,name:io.ConfiguratorCreated,message:`Configurator created for ${e.name} in ${i}ms`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",configLoadTime:i},metric:i}),{[e.name]:r}}catch(t){throw o({level:oo.Error,name:io.ConfiguratorFailed,message:`Failed to create configurator for ${e.name}`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},metric:Math.round(performance.now()-n),error:t}),t}}),Gi((e,t)=>Object.assign(e,t),{onAfterConfiguration(e){r.push(e)},onAfterInit(e){i.push(e)}})))}(e,t);return await Promise.all(e.configs.map(e=>Promise.resolve(e(n,t)))),await async function(e,t){const{modules:n,afterConfiguration:r,registerEvent:i}=e;if(await Promise.allSettled(n.filter(e=>!!e.postConfigure).map(async e=>{try{const n=performance.now();await(e.postConfigure?.(t)),i({level:oo.Debug,name:io.ModulePostConfigured,message:`Module ${e.name} post-configured successfully`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",postConfigTime:Math.round(performance.now()-n)}})}catch(t){i({level:oo.Warning,name:io.ModulePostConfigureError,message:`Module ${e.name} post-configure failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t})}})),r.length)try{i({level:oo.Debug,name:io.PostConfigureHooks,message:`Post configure hooks [${r.length}] called`});const e=performance.now();await Promise.allSettled(r.map(e=>Promise.resolve(e(t))));const n=Math.round(performance.now()-e);i({level:oo.Debug,name:io.PostConfigureHooksComplete,message:"Post configure hooks complete",properties:{count:r.length,postConfigHooksTime:n},metric:n})}catch(e){i({level:oo.Warning,name:io.PostConfigureHooksError,message:"Post configure hook failed",error:e})}}(e,n),n}!function(e){e[e.Debug=0]="Debug",e[e.Information=1]="Information",e[e.Warning=2]="Warning",e[e.Error=3]="Error",e[e.Critical=4]="Critical"}(oo||(oo={}));class ao{static[Symbol.hasInstance](e){if(null!==e&&"object"==typeof e&&"version"in e&&"dispose"in e){const t=e,n=O(String(t.version)),r=t.dispose;return!!n&&"function"==typeof r}return!1}#ie;#oe;get version(){return this.#ie}constructor(e){const{version:t}=e;this.#ie=new rr(t),this.#oe=new Er}_addTeardown(e){return this.#oe.add(e),()=>this.#oe.remove(e)}dispose(){this.#oe.unsubscribe()}}function co(e,t,n){return function(r,i=60){if(!e.includes(r)){const e=new Error(`Cannot require [${String(r)}] since module is not defined!`);throw e.name="ModuleNotDefinedError",n({level:oo.Error,name:io.RequireInstanceModuleNotDefined,message:e.message,properties:{moduleName:String(r),wait:i},error:e}),e}if(t.value[r])return n({level:oo.Debug,name:io.RequireInstanceModuleAlreadyInitialized,message:`Module [${String(r)}] is already initialized, skipping queue`,properties:{moduleName:String(r),wait:i}}),Promise.resolve(t.value[r]);const o=performance.now();return n({level:oo.Debug,name:io.RequireInstanceAwaitingModule,message:`Awaiting module [${String(r)}] initialization, timeout ${i}s`,properties:{moduleName:String(r),wait:i}}),Ii(t.pipe(ki(e=>!!e[r]),Di(e=>e[r]),function(e){var t=Si(e)?{first:e}:"number"==typeof e?{each:e}:e,n=t.first,r=t.each,i=t.with,o=void 0===i?_i:i,s=t.scheduler,a=void 0===s?Jr:s,c=t.meta,l=void 0===c?null:c;if(null==n&&null==r)throw new TypeError("No timeout provided.");return Fr(function(e,t){var i,s,c=null,u=0,f=function(e){s=hi(t,a,function(){try{i.unsubscribe(),pi(o({meta:l,lastValue:c,seen:u})).subscribe(t)}catch(e){t.error(e)}},e)};i=e.subscribe(kr(t,function(e){null==s||s.unsubscribe(),u++,t.next(c=e),r>0&&f(r)},void 0,void 0,function(){(null==s?void 0:s.closed)||null==s||s.unsubscribe(),c=null})),!u&&f(null!=n?"number"==typeof n?n:+n-a.now():r)})}({each:1e3*i,with:()=>{return t=mr(e=()=>{const e=new no;return n({level:oo.Error,name:io.RequireInstanceTimeout,message:`Module [${String(r)}] initialization timed out after ${i}s`,properties:{moduleName:String(r),wait:i},error:e}),e})?e:function(){return e},new xr(function(e){return e.error(t())});var e,t}}),Ji(()=>{const e=Math.round(performance.now()-o);n({level:oo.Debug,name:io.RequireInstanceModuleResolved,message:`Module [${String(r)}] required in ${e}ms`,properties:{moduleName:String(r),wait:i,requireTime:e},metric:e})})))}}async function lo(e,t,n){const{modules:r,registerEvent:i}=e;if(0===r.length)return Object.seal({});const o=r.map(e=>e.name),s=new Hr({}),a=e=>o.includes(e),c=co(o,s,i),l=Ei(r).pipe(Ai(e=>async function(e,t){const{config:n,ref:r,requireInstance:i,hasModule:o,registerEvent:s}=t,a=e.name;if(!e.initialize){const t=new Error(`Module ${e.name} does not have initialize method`);throw t.name="ModuleInitializeError",s({level:oo.Error,name:io.ModuleInitializeError,message:t.message,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t}),t}s({level:oo.Debug,name:io.ModuleInitializing,message:`Initializing module ${e.name}`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const c=performance.now(),l=await e.initialize({ref:r,config:n[a],requireInstance:i,hasModule:o});l instanceof ao||s({level:oo.Warning,name:io.ProviderNotBaseModuleProvider,message:`Provider for module ${e.name} does not extend BaseModuleProvider`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const u=l;u.version||s({level:oo.Warning,name:io.ProviderVersionWarning,message:`Provider for module ${e.name} does not expose version`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const f=Math.round(performance.now()-c);return s({level:oo.Debug,name:io.ModuleInitialized,message:`Module ${e.name} initialized in ${f}ms`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",providerName:typeof l,providerVersion:u.version?.toString()||"unknown",moduleInitTime:f},metric:f}),[a,l]}(e,{config:t,ref:n,requireInstance:c,hasModule:a,registerEvent:i}))),u=performance.now();l.subscribe({next:([e,t])=>{const n=Object.assign(s.value,{[e]:t});s.next(n)},error:e=>{i({level:oo.Error,name:io.ModuleInitializeError,message:`Failed to initialize module ${e.name||"unknown"}`,error:e}),s.error(e)},complete:()=>{const e=Math.round(performance.now()-u);i({level:oo.Debug,name:io.ModuleInitializeComplete,message:`All modules initialized in ${e}ms`,properties:{modules:Object.keys(s.value).join(", "),loadTime:e},metric:e}),s.complete()}});const f=performance.now(),p=await Li(s),d=Math.round(performance.now()-f);return i({level:oo.Debug,name:io.InitializeComplete,message:`Modules instance created in ${d}ms`,properties:{modules:Object.keys(p).join(", "),initTime:d},metric:d}),Object.seal(p),p}function uo(e){return"function"==typeof e?e.name||"anonymous":"dispose"}async function fo(e){"function"!=typeof e?await e.dispose():await e()}class po{static className="ModulesConfigurator";get version(){return"6.1.6"}#se=new qr(100);get event$(){return this.#se.asObservable()}_configs=[];_afterConfiguration=[];_afterInit=[];_plugins=[];_pluginTeardowns=[];_modules;constructor(e){this._modules=new Set(e?this._dedupeModulesByName(e):[])}_dedupeModulesByName(e){const t=new Map;for(const n of e)t.set(n.name,n);return Array.from(t.values())}_removeModuleCallbacks(e){this._configs=this._configs.filter(t=>t.moduleName!==e),this._afterConfiguration=this._afterConfiguration.filter(t=>t.moduleName!==e),this._afterInit=this._afterInit.filter(t=>t.moduleName!==e)}get modules(){return[...this._modules]}configure(...e){for(const t of e)this.addConfig(t)}addConfig(e){const{module:t,afterConfig:n,afterInit:r,configure:i}=e,o=Array.from(this._modules).find(e=>e.name===t.name);if(o){if(o!==t){this._removeModuleCallbacks(t.name);const e=Array.from(this._modules).map(e=>e.name===t.name?t:e);this._modules=new Set(e)}}else this._modules.add(t);if(this._registerEvent({level:oo.Debug,name:io.ModuleConfigAdded,message:`Module configurator added for ${t.name}`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown",configure:!!i,afterConfig:!!n,afterInit:!!r}}),i){const e=(e,n)=>i(e[t.name],n);e.moduleName=t.name,this._configs.push(e)}if(n){const e=e=>n(e[t.name]);e.moduleName=t.name,this._afterConfiguration.push(e)}if(r){const e=e=>r(e[t.name]);e.moduleName=t.name,this._afterInit.push(e)}}onConfigured(e){this._afterConfiguration.push(e),this._registerEvent({level:oo.Debug,name:io.OnConfiguredAdded,message:"Added onConfigured callback",properties:{count:this._afterConfiguration.length,name:e.name||"anonymous"}})}onInitialized(e){this._afterInit.push(e),this._registerEvent({level:oo.Debug,name:io.OnInitializedAdded,message:"Added onInitialized callback",properties:{count:this._afterInit.length,name:e.name||"anonymous"}})}registerPlugin(e){this._plugins.push(e),this._registerEvent({level:oo.Debug,name:io.PluginAdded,message:"Added plugin callback",properties:{count:this._plugins.length,name:e.name||"anonymous"}})}async initialize(e){const t=performance.now(),n=await this._configure(e),r=Math.round(performance.now()-t),i=this.modules.map(e=>e.name).join(", ");this._registerEvent({level:oo.Debug,name:io.InitializeConfigLoaded,message:`Modules configured in ${r}ms`,properties:{modules:i,count:this.modules.length,loadTime:r},metric:r});const o=performance.now(),s=await this._initialize(n,e),a=Math.round(performance.now()-o),c=this.modules.map(e=>e.name).join(", ");this._registerEvent({level:oo.Debug,name:io.InitializeInstanceInitialized,message:`Modules initialized in ${a}ms`,properties:{modules:c,count:this.modules.length,loadTime:a},metric:a});const l=r+a,u=this.modules.map(e=>e.name).join(", ");this._registerEvent({level:oo.Information,name:io.Initialize,message:`initialize in ${l}ms`,properties:{modules:u,configLoadTime:r,instanceLoadTime:a,totalLoadTime:l},metric:l}),await this._postInitialize(s,e);const f=Object.seal(Object.assign({},s,{dispose:()=>this.dispose(s)}));return await this._registerPlugins(f,e),f}_registerEvent(e){const t=e.name.split("::");this.#se.next({...e,name:`${this.constructor.className}::${t[t.length-1]}`})}async _configure(e){return so({modules:this.modules,configs:this._configs,afterConfiguration:this._afterConfiguration,afterInit:this._afterInit,registerEvent:this._registerEvent.bind(this)},e)}async _initialize(e,t){return lo({modules:this.modules,registerEvent:this._registerEvent.bind(this)},e,t)}async _postInitialize(e,t){return async function(e,t,n){const{modules:r,afterInit:i,registerEvent:o}=e;o({level:oo.Debug,name:io.ConfiguratorPostInitializeStart,message:`Post-initializing all modules [${Object.keys(t).length}]`,properties:{modules:Object.keys(t).join(", ")}});const s=Ei(r).pipe(ki(e=>!!e.postInitialize),Ji(e=>{o({level:oo.Debug,name:io.ModulePostInitializeStart,message:`Module ${e.name} is being post-initialized`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}})}),Ai(e=>{const r=performance.now();return Ei(e.postInitialize({ref:n,modules:t,instance:t[e.name]})).pipe(Ji(()=>{const t=Math.round(performance.now()-r);o({level:oo.Debug,name:io.ModulePostInitializeComplete,message:`Module ${e.name} has been post-initialized in ${t}ms`,metric:t,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",postInitTime:t}})}),ji(null),Bi(t=>(o({level:oo.Warning,name:io.ModulePostInitializeError,message:`Module ${e.name} post-initialize failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t}),ei)))}),ji(null)),a=performance.now();await Li(s);const c=Math.round(performance.now()-a);if(o({level:oo.Debug,name:io.PostInitializeComplete,message:`Post-initialization of all modules completed in ${c}ms`,properties:{modules:Object.keys(t).join(", "),postInitTime:c},metric:c}),!i.length)return void o({level:oo.Debug,name:io.PostInitializeCompleteNoHooks,message:"Post-initialization complete",properties:{modules:Object.keys(t).join(", "),postInitCompleteTime:c}});try{const e=i.map(e=>e.name||"anonymous").join(", ");o({level:oo.Debug,name:io.PostInitializeHooks,message:`Executing post-initialize hooks [${i.length}]`,properties:{hooks:e}});const n=performance.now();await Promise.allSettled(i.map(e=>Promise.resolve(e(t))));const r=Math.round(performance.now()-n);o({level:oo.Debug,name:io.PostInitializeHooksComplete,message:`Post-initialize hooks completed in ${r}ms`,properties:{hooks:e,afterInitTime:r},metric:r})}catch(e){const t=i.map(e=>e.name||"anonymous").join(", ");o({level:oo.Warning,name:io.PostInitializeHooksError,message:"Post-initialize hooks failed",properties:{hooks:t},error:e})}const l=Math.round(performance.now()-a);o({level:oo.Debug,name:io.PostInitializeComplete,message:"Post-initialization complete",properties:{modules:Object.keys(t).join(", "),postInitCompleteTime:l}})}({modules:this.modules,afterInit:this._afterInit,registerEvent:this._registerEvent.bind(this)},e,t)}async _registerPlugins(e,t){return async function(e,t,n){const{plugins:r,teardowns:i,registerEvent:o}=e;if(!r.length)return;o({level:oo.Debug,name:io.PluginsRegister,message:`Registering plugins [${r.length}]`,properties:{count:r.length}});const s=await Promise.all(r.map(async e=>{const r=performance.now(),i=e.name||"anonymous";try{const a=await e({modules:t,ref:n}),c=Math.round(performance.now()-r);return o({level:oo.Debug,name:io.PluginRegistered,message:`Plugin ${i} registered in ${c}ms`,properties:{name:i,pluginTime:c},metric:c}),"function"==typeof(s=a)||"object"==typeof s&&null!==s&&"dispose"in s&&"function"==typeof s.dispose?a:void 0}catch(e){return void o({level:oo.Warning,name:io.PluginRegisterError,message:`Plugin ${i} registration failed`,properties:{name:i},error:e})}var s}));for(const e of s)e&&i.push(e);o({level:oo.Debug,name:io.PluginsRegistered,message:"Plugin registration complete",properties:{count:r.length,teardowns:i.length}})}({plugins:this._plugins,teardowns:this._pluginTeardowns,registerEvent:this._registerEvent.bind(this)},e,t)}async dispose(e,t){return async function(e,t,n){const{modules:r,registerEvent:i,event$:o,pluginTeardowns:s=[]}=e;if(i({level:oo.Debug,name:io.Dispose,message:"Disposing modules instance",properties:{modules:Object.keys(t).join(", ")}}),s.length){i({level:oo.Debug,name:io.PluginsDisposing,message:`Disposing plugins [${s.length}]`,properties:{count:s.length}});for(const e of s.splice(0).reverse()){const t=uo(e);try{await fo(e),i({level:oo.Debug,name:io.PluginDisposed,message:`Plugin ${t} disposed successfully`,properties:{name:t}})}catch(e){i({level:oo.Warning,name:io.PluginDisposeError,message:`Plugin ${t} dispose failed`,properties:{name:t},error:e})}}}i({level:oo.Debug,name:io.ModulesDispose,message:"Disposing modules",properties:{count:r.length}}),await Promise.allSettled(r.filter(e=>!!e.dispose).map(async e=>{if(e.dispose)try{await e.dispose({ref:n,modules:t,instance:t[e.name]}),i({level:oo.Debug,name:io.ModuleDisposed,message:`Module ${e.name} disposed successfully`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}})}catch(t){i({level:oo.Warning,name:io.ModuleDisposeError,message:`Module ${e.name} dispose failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t})}})),i({level:oo.Debug,name:io.ModulesDisposed,message:"Module dispose complete",properties:{count:r.length}}),o.complete()}({modules:this.modules,registerEvent:this._registerEvent.bind(this),event$:this.#se,pluginTeardowns:this._pluginTeardowns},e,t)}}class ho{_operators;get operators(){return this._operators}constructor(e){this._operators=e&&"operators"in e?{...e.operators}:e??{}}add(e,t){if(Object.keys(this._operators).includes(e))throw Error(`Operator [${e}] already defined`);return this.set(e,t)}set(e,t){return this._operators[e]=t,this}remove(e){return delete this._operators[e],this}get(e){return this._operators[e]}process(e){return Object.values(this._operators).length?Ei(Object.values(this._operators)).pipe((t=(e,t)=>Promise.resolve(t(e)).then(t=>t??e),n=e,r=1,Fr(function(e,i){var o=n;return Oi(e,i,function(e,n){return t(o,e,n)},r,function(e){o=e},!1,void 0,function(){return o=null})})),Zi()):bi(e);var t,n,r}}class mo extends ho{setHeader(e,t){const n=((e,t)=>n=>{const r=new Headers(n.headers);return r.append(e,t),{...n,headers:r}})(e,t);return this.set(`header-${e}`,n)}}class go extends ho{}class vo{#ae;constructor(e){this.#ae=e?[...e.middleware]:[]}get middleware(){return this.#ae}use(e){return this.#ae.push(e),this}process(e,t,n){const r=this.#ae.reduceRight((e,t)=>(n,r)=>t(n,r,(t,n)=>function(e){return e instanceof Response?Promise.resolve(e):Ii(Ei(e))}(e(t,n))),n),i=r(e,t);return i instanceof Response?bi(i):Ei(i)}}const yo=T.object({attributionReporting:T.object({eventSourceEligible:T.boolean().optional(),triggerEligible:T.boolean().optional()}).optional(),body:T.union([T.string(),T.instanceof(Blob),T.instanceof(ArrayBuffer),T.instanceof(FormData),T.instanceof(URLSearchParams),T.instanceof(ReadableStream)]).optional(),browsingTopics:T.boolean().optional(),cache:T.enum(["default","no-store","reload","no-cache","force-cache","only-if-cached"]).optional(),credentials:T.enum(["omit","same-origin","include"]).optional(),headers:T.record(T.string(),T.string()).optional().or(T.instanceof(Headers)),integrity:T.string().optional(),keepalive:T.boolean().optional(),method:T.enum(["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","CONNECT","TRACE"],{message:"Invalid request method. Expected one of: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, CONNECT, TRACE. See RFC 2615 Section 9 for more information: https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html"}).optional().optional(),mode:T.enum(["same-origin","cors","no-cors","navigate","websocket"]).optional(),priority:T.enum(["low","high","auto"]).optional(),redirect:T.enum(["follow","error","manual"]).optional(),referrer:T.string().optional(),referrerPolicy:T.enum(["no-referrer","no-referrer-when-downgrade","origin","origin-when-cross-origin","same-origin","strict-origin","strict-origin-when-cross-origin","unsafe-url"]).optional(),signal:T.instanceof(AbortSignal).optional()}).extend({uri:T.string(),path:T.string().optional()}),Eo=e=>e=>{const{error:t,success:n,data:r}=T.string().optional().refine(e=>void 0===e||e===e?.toUpperCase(),{message:["Provided HTTP method must be in uppercase.","See RFC 7231 Section 4.1 for more information","https://www.rfc-editor.org/rfc/rfc7231#section-4.1"].join(" ")}).safeParse(e.method);if(e.method=n?r:e.method?.toUpperCase(),t)for(const e of t.issues)console.warn(e.message);return e},bo=e=>e=>{const{strict:t,parse:n}={},r=t?yo:yo.passthrough();try{const t=r.parse(e);return n?t:void 0}catch(e){if(n)throw e;console.error("Invalid request options",e.message)}},wo=e=>{try{return JSON.parse(e)}catch{return e}};function*Lo(e,t){const n=e.split("\n\n"),r=t?.dataParser||wo;for(const e of n){if(!e.trim())continue;const t=e.split("\n").reduce((e,t)=>{if(!t)return e;const n=t.indexOf(":");if(-1===n)return e;const i=t.slice(0,n).trim(),o=t.slice(n+1).trim();return"data"===i?e.data=r(o):e[i]=o,e},{});Object.keys(t).length&&(yield t)}}const Io=e=>t=>{if(!t.ok)throw new Jn(`HTTP error! Status: ${t.status}`,t);if(!t.body)throw new Jn("Response body is not readable",t);if(!t.headers.get("Content-Type")?.includes("text/event-stream"))throw new Jn("Response is not a text/event-stream",t);const n=t.body.getReader();return Ei(async function*(e,t){const n=!!t?.skipHeartbeats,r=t?.eventFilter?Array.isArray(t.eventFilter)?t.eventFilter:[t.eventFilter]:null,i=new TextDecoder;for(;;){const{done:o,value:s}=await e.read();if(o)break;const a=Lo(i.decode(s,{stream:!0}),{dataParser:t?.dataParser});for(const e of a)if(e.retry)await new Promise(t=>setTimeout(t,Number.parseInt(e.retry??"300",10)));else{if(n){if(!e.event&&!e.data&&!e.id)continue;if(e.event&&["heartbeat","ping"].includes(e.event))continue}(!r||e.event&&r.includes(e.event))&&(yield e)}}}(n,{dataParser:e?.dataParser,skipHeartbeats:e?.skipHeartbeats,eventFilter:e?.eventFilter})).pipe(Xi(e?.abortSignal?xi(e.abortSignal,"abort"):ei),Wi(async()=>{await n.cancel().catch(()=>{}),n.releaseLock()}))};class So{_clients={};get clients(){return{...this._clients}}defaultHttpClientCtor;defaultHttpRequestHandler=new mo({"capitalize-method":Eo(),"request-validation":bo()});defaultHttpMiddlewareHandler=new vo;constructor(e){this.defaultHttpClientCtor=e}hasClient(e){return Object.keys(this._clients).includes(e)}addMiddleware(e){return this.defaultHttpMiddlewareHandler.use(e),this}configureClient(e,t){const n="string"==typeof t?{baseUri:t}:t,r="function"==typeof n?{onCreate:n}:n;return this._clients[e]={...this._clients[e],...r},this}}const Co=["http:","https:","ws:","wss:"];class _o extends ao{config;get defaultHttpRequestHandler(){return this.config.defaultHttpRequestHandler}get defaultHttpMiddlewareHandler(){return this.config.defaultHttpMiddlewareHandler}constructor(e){super({version:"8.1.4",config:e}),this.config=e}hasClient(e){return Object.keys(this.config.clients).includes(e)}createClient(e){const t=this._resolveConfig(e),{baseUri:n,defaultScopes:r=[],onCreate:i,ctor:o=this.config.defaultHttpClientCtor,requestHandler:s=this.defaultHttpRequestHandler,responseHandler:a,middlewareHandler:c=this.defaultHttpMiddlewareHandler}=t,l=new o(n||"",{requestHandler:s,responseHandler:a,middlewareHandler:c});return Object.assign(l,{defaultScopes:r}),i?.(l),l}createCustomClient(e){return this.createClient(e)}_resolveConfig(e){if("string"==typeof e){const n=this.config.clients[e];if(!n&&(e=>{try{const t=new URL(e);return Co.includes(t.protocol)}catch{return!1}})(e))return{baseUri:e};if(!n&&!(t=e).includes(" ")&&/^[a-z\d]([a-z\d-]*\.)+[a-z]{2,}/i.test(t))return console.warn(`[HttpClientProvider] "${e}" looks like a URL but is missing the http:// or https:// protocol. Treating it as "https://${e}". Pass a fully-qualified URL to silence this warning.`),{baseUri:`https://${e}`};if(!n)throw new Qn(`No registered http client for key [${e}]`);return n}var t;return e}}function Do(e,t){void 0===t&&(t={});var n=t.selector,r=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(t,["selector"]);return new xr(function(t){var i=new AbortController,o=i.signal,s=!0,a=r.signal;if(a)if(a.aborted)i.abort();else{var c=function(){o.aborted||i.abort()};a.addEventListener("abort",c),t.add(function(){return a.removeEventListener("abort",c)})}var l=sr(sr({},r),{signal:o}),u=function(e){s=!1,t.error(e)};return fetch(e,l).then(function(e){n?pi(n(e)).subscribe(kr(t,void 0,function(){s=!1,t.complete()},u)):(s=!1,t.next(e),t.complete())}).catch(u),function(){s&&i.abort()}})}const Po=async e=>{if(204===e.status)return Promise.resolve();try{const t=await e.json();if(!e.ok)throw new Xn("network response was not OK",e,{data:t});return t}catch(t){if(t instanceof Xn)throw t;throw new Xn("failed to parse response",e,{cause:t})}},No=async e=>{if(!e.ok)throw new Error("network response was not OK");if(204===e.status)throw new Error("no content");const t=e.headers.get("content-disposition")?.split(";").find(e=>e.includes("filename="))?.replace("filename=","")?.trim();try{return{filename:t,blob:await e.blob()}}catch(e){throw Error("failed to parse response")}};class Oo{uri;requestHandler;responseHandler;middlewareHandler;_request$=new Gr;_response$=new Gr;_abort$=new Gr;get request$(){return this._request$.asObservable()}get response$(){return this._response$.asObservable()}constructor(e,t){this.uri=e,this.requestHandler=new mo(t?.requestHandler),this.responseHandler=new go(t?.responseHandler),this.middlewareHandler=new vo(t?.middlewareHandler),this._init()}_init(){}fetch$(e,t){return this._fetch$(e,t)}fetch(e,t){return Ii(this.fetch$(e,t))}fetchAsync(e,t){return this.fetch(e,t)}json$(e,t){const n="object"==typeof t?.body?JSON.stringify(t?.body):t?.body,r=t?.selector??Po,i=new Headers(t?.headers);return i.append("Accept","application/json"),i.append("Content-Type","application/json"),this.fetch$(e,{...t,body:n,selector:r,headers:i})}json(e,t){return Ii(this.json$(e,t))}blob$(e,t){const n=t?.selector??No,r={...t,selector:n};return this.fetch$(e,r)}blob(e,t){return Ii(this.blob$(e,t))}sse$(e,t,n){const r=new Headers(t?.headers);r.append("Accept","text/event-stream"),r.append("Content-Type","text/event-stream"),r.append("Cache-Control","no-cache"),r.append("Connection","keep-alive");const i=Io({...n,abortSignal:t?.signal});return this._fetch$(e,{selector:i,...t,headers:r})}jsonAsync(e,t){return this.json(e,t)}execute(e,t,n){return this[e](t,n)}abort(){this._abort$.next()}_fetch$(e,t){const{selector:n,...r}=t||{},i=new AbortController,o=this._abort$.pipe((s=1,s<=0?function(){return ei}:Fr(function(e,t){var n=0;e.subscribe(kr(t,function(e){++n<=s&&(t.next(e),s<=n&&t.complete())}))}))).subscribe(()=>i.abort());var s;const a=r.signal,c=a?AbortSignal.any([a,i.signal]):i.signal;return bi({...r,signal:c,path:e,uri:this._resolveUrl(e)}).pipe(Yi(e=>this._prepareRequest(e)),Ji(e=>this._request$.next(e)),Yi(({uri:e,path:t,...n})=>this.middlewareHandler.process(e,n,(e,t)=>this._performFetch(e,t))),Yi(e=>this._prepareResponse(e)),Ji(e=>this._response$.next(e)),Yi(e=>{if(n)try{return n(e)}catch(t){throw new Yn("failed to execute response selector",e,{cause:t})}return bi(e)}),Xi(this._abort$),Wi(()=>o.unsubscribe()))}_performFetch(e,t){return Do(e,t)}_prepareRequest(e){return this.requestHandler.process(e)}_prepareResponse(e){return this.responseHandler.process(e)}_resolveUrl(e){const{origin:t,pathname:n}=new URL(this.uri,this.uri.startsWith("http")?void 0:window.location.origin),r=[n,e].join("/").replace(/\/{2,}/g,"/");return new URL(r,t).href}}class Ao extends Oo{defaultScopes=[];fetch$(e,t){const n={...t,scopes:this.defaultScopes.concat(t?.scopes||[])};return super._fetch$(e,n)}}const Ro={name:"http",configure:()=>new So(Ao),initialize:async({config:e,hasModule:t,requireInstance:n})=>{const r=new _o(e);if(t("auth")){const e=await n("auth");r.defaultHttpRequestHandler.set("MSAL",async t=>{const{scopes:n=[]}=t;if(n.length){const r=await e.acquireAccessToken({request:{scopes:n}});if(r){const e=new Headers(t.headers);return e.set("Authorization",`Bearer ${r}`),{...t,headers:e}}}})}return r}},$o=(...e)=>t=>t.pipe(function(e,t){return mr(t)?Ai(e,t,1):Ai(e,1)}(...e)),To=(...e)=>t=>t.pipe(Ai(...e)),xo=(...e)=>t=>t.pipe(Yi(...e)),Uo=e=>e.pipe(Di(e=>e.value));var Fo=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function ko(e){if(!function(e){return"string"==typeof e&&Fo.test(e)}(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)}const Bo=[];for(let e=0;e<256;++e)Bo.push((e+256).toString(16).slice(1));function Mo(e,t=0){return(Bo[e[t+0]]+Bo[e[t+1]]+Bo[e[t+2]]+Bo[e[t+3]]+"-"+Bo[e[t+4]]+Bo[e[t+5]]+"-"+Bo[e[t+6]]+Bo[e[t+7]]+"-"+Bo[e[t+8]]+Bo[e[t+9]]+"-"+Bo[e[t+10]]+Bo[e[t+11]]+Bo[e[t+12]]+Bo[e[t+13]]+Bo[e[t+14]]+Bo[e[t+15]]).toLowerCase()}const Go=new Uint8Array(16);function jo(e,t,n,r,i,o){const s="string"==typeof n?function(e){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}(n):n,a="string"==typeof r?ko(r):r;if("string"==typeof r&&(r=ko(r)),16!==r?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+s.length);if(c.set(a),c.set(s,a.length),c=t(c),c[6]=15&c[6]|e,c[8]=63&c[8]|128,i){if(o??=0,o<0||o+16>i.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);for(let e=0;e<16;++e)i[o+e]=c[e];return i}return Mo(c)}function Ho(e,t,n){return crypto.randomUUID?crypto.randomUUID():function(e){e=e||{};const t=e.random??e.rng?.()??crypto.getRandomValues(Go);if(t.length<16)throw new Error("Random bytes length must be >= 16");return t[6]=15&t[6]|64,t[8]=63&t[8]|128,Mo(t)}(e)}function zo(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function qo(e,t){return e<<t|e>>>32-t}function Vo(e){const t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new Uint8Array(e.length+1);r.set(e),r[e.length]=128;const i=(e=r).length/4+2,o=Math.ceil(i/16),s=new Array(o);for(let t=0;t<o;++t){const n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[64*t+4*r]<<24|e[64*t+4*r+1]<<16|e[64*t+4*r+2]<<8|e[64*t+4*r+3];s[t]=n}s[o-1][14]=8*(e.length-1)/2**32,s[o-1][14]=Math.floor(s[o-1][14]),s[o-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<o;++e){const r=new Uint32Array(80);for(let t=0;t<16;++t)r[t]=s[e][t];for(let e=16;e<80;++e)r[e]=qo(r[e-3]^r[e-8]^r[e-14]^r[e-16],1);let i=n[0],o=n[1],a=n[2],c=n[3],l=n[4];for(let e=0;e<80;++e){const n=Math.floor(e/20),s=qo(i,5)+zo(n,o,a,c)+l+t[n]+r[e]>>>0;l=c,c=a,a=qo(o,30)>>>0,o=i,i=s}n[0]=n[0]+i>>>0,n[1]=n[1]+o>>>0,n[2]=n[2]+a>>>0,n[3]=n[3]+c>>>0,n[4]=n[4]+l>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}function Wo(e,t,n,r){return jo(80,Vo,e,t,n,r)}Wo.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Wo.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";class Zo extends Error{type;request;constructor(e,t){super(t.message,{cause:t.cause}),this.type=e,this.name="QueryClientError",this.request=t.request}}var Ko=Symbol.for("immer-nothing"),Yo=Symbol.for("immer-draftable"),Xo=Symbol.for("immer-state"),Jo="production"!==process.env.NODE_ENV?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function Qo(e,...t){if("production"!==process.env.NODE_ENV){const n=Jo[e],r=Ls(n)?n.apply(null,t):n;throw new Error(`[Immer] ${r}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var es=Object,ts=es.getPrototypeOf,ns="constructor",rs="prototype",is="configurable",os="enumerable",ss="writable",as="value",cs=e=>!!e&&!!e[Xo];function ls(e){return!!e&&(ps(e)||ys(e)||!!e[Yo]||!!e[ns]?.[Yo]||Es(e)||bs(e))}var us=es[rs][ns].toString(),fs=new WeakMap;function ps(e){if(!e||!ws(e))return!1;const t=ts(e);if(null===t||t===es[rs])return!0;const n=es.hasOwnProperty.call(t,ns)&&t[ns];if(n===Object)return!0;if(!Ls(n))return!1;let r=fs.get(n);return void 0===r&&(r=Function.toString.call(n),fs.set(n,r)),r===us}function ds(e,t,n=!0){if(0===hs(e)){(n?Reflect.ownKeys(e):es.keys(e)).forEach(n=>{t(n,e[n],e)})}else e.forEach((n,r)=>t(r,n,e))}function hs(e){const t=e[Xo];return t?t.type_:ys(e)?1:Es(e)?2:bs(e)?3:0}var ms=(e,t,n=hs(e))=>2===n?e.has(t):es[rs].hasOwnProperty.call(e,t),gs=(e,t,n=hs(e))=>2===n?e.get(t):e[t],vs=(e,t,n,r=hs(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n};var ys=Array.isArray,Es=e=>e instanceof Map,bs=e=>e instanceof Set,ws=e=>"object"==typeof e,Ls=e=>"function"==typeof e,Is=e=>"boolean"==typeof e;var Ss=e=>e.copy_||e.base_,Cs=e=>e.modified_?e.copy_:e.base_;function _s(e,t){if(Es(e))return new Map(e);if(bs(e))return new Set(e);if(ys(e))return Array[rs].slice.call(e);const n=ps(e);if(!0===t||"class_only"===t&&!n){const t=es.getOwnPropertyDescriptors(e);delete t[Xo];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const i=n[r],o=t[i];!1===o[ss]&&(o[ss]=!0,o[is]=!0),(o.get||o.set)&&(t[i]={[is]:!0,[ss]:!0,[os]:o[os],[as]:e[i]})}return es.create(ts(e),t)}{const t=ts(e);if(null!==t&&n)return{...e};const r=es.create(t);return es.assign(r,e)}}function Ds(e,t=!1){return Ns(e)||cs(e)||!ls(e)||(hs(e)>1&&es.defineProperties(e,{set:Ps,add:Ps,clear:Ps,delete:Ps}),es.freeze(e),t&&ds(e,(e,t)=>{Ds(t,!0)},!1)),e}var Ps={[as]:function(){Qo(2)}};function Ns(e){return null===e||!ws(e)||es.isFrozen(e)}var Os="MapSet",As="Patches",Rs="ArrayMethods",$s={};function Ts(e){const t=$s[e];return t||Qo(0,e),t}var xs,Us=e=>!!$s[e],Fs=()=>xs;function ks(e,t){t&&(e.patchPlugin_=Ts(As),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Bs(e){Ms(e),e.drafts_.forEach(js),e.drafts_=null}function Ms(e){e===xs&&(xs=e.parent_)}var Gs=e=>xs={drafts_:[],parent_:xs,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Us(Os)?Ts(Os):void 0,arrayMethodsPlugin_:Us(Rs)?Ts(Rs):void 0};function js(e){const t=e[Xo];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function Hs(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[Xo].modified_&&(Bs(t),Qo(4)),ls(e)&&(e=zs(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Xo].base_,e,t)}else e=zs(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ds(t,n)}(t,e,!0),Bs(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Ko?e:void 0}function zs(e,t){if(Ns(t))return t;const n=t[Xo];if(!n){return Ys(t,e.handledSet_,e)}if(!Vs(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:t}=n;if(t)for(;t.length>0;){t.pop()(e)}Ks(n,e)}return n.copy_}function qs(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Vs=(e,t)=>e.scope_===t,Ws=[];function Zs(e,t,n,r){const i=Ss(e),o=e.type_;if(void 0!==r){if(gs(i,r,o)===t)return void vs(i,r,n,o)}if(!e.draftLocations_){const t=e.draftLocations_=new Map;ds(i,(e,n)=>{if(cs(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const s=e.draftLocations_.get(t)??Ws;for(const e of s)vs(i,e,n,o)}function Ks(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:n}=t;if(n){const r=n.getPath(e);r&&n.generatePatches_(e,r,t)}qs(e)}}function Ys(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||cs(e)||t.has(e)||!ls(e)||Ns(e)||(t.add(e),ds(e,(r,i)=>{if(cs(i)){const t=i[Xo];if(Vs(t,n)){const n=Cs(t);vs(e,r,n,e.type_),qs(t)}}else ls(i)&&Ys(i,t,n)})),e}var Xs={get(e,t){if(t===Xo)return e;let n=e.scope_.arrayMethodsPlugin_;const r=1===e.type_&&"string"==typeof t;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const i=Ss(e);if(!ms(i,t,e.type_))return function(e,t,n){const r=ea(t,n);return r?as in r?r[as]:r.get?.call(e.draft_):void 0}(e,i,t);const o=i[t];if(e.finalized_||!ls(o))return o;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return o;if(o===Qs(e.base_,t)||function(e,t,n){if(1!==e.type_||!e.allIndicesReassigned_||e.assigned_?.get(t)||!ls(n)||n[Xo])return!1;return e.baseRefs_.has(n)}(e,t,o)){na(e);const n=1===e.type_?+t:t,r=ra(e.scope_,o,e,n);return e.copy_[n]=r}return o},has:(e,t)=>t in Ss(e),ownKeys:e=>Reflect.ownKeys(Ss(e)),set(e,t,n){const r=ea(Ss(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=Qs(Ss(e),t),s=r?.[Xo];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if(((i=n)===(o=r)?0!==i||1/i==1/o:i!=i&&o!=o)&&(void 0!==n||ms(e.base_,t,e.type_)))return!0;na(e),ta(e)}var i,o;return e.copy_[t]===n&&(void 0!==n||ms(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),function(e,t,n){const{scope_:r}=e;if(cs(n)){const i=n[Xo];Vs(i,r)&&i.callbacks_.push(function(){na(e);const r=Cs(i);Zs(e,n,r,t)})}else ls(n)&&e.callbacks_.push(function(){const i=Ss(e);3===e.type_?i.has(n)&&Ys(n,r.handledSet_,r):gs(i,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&Ys(gs(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(na(e),void 0!==Qs(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),ta(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=Ss(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[ss]:!0,[is]:1!==e.type_||"length"!==t,[os]:r[os],[as]:n[t]}:r},defineProperty(){Qo(11)},getPrototypeOf:e=>ts(e.base_),setPrototypeOf(){Qo(12)}},Js={};for(let e in Xs){let t=Xs[e];Js[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function Qs(e,t){const n=e[Xo];return(n?Ss(n):e)[t]}function ea(e,t){if(!(t in e))return;let n=ts(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=ts(n)}}function ta(e){e.modified_||(e.modified_=!0,e.parent_&&ta(e.parent_))}function na(e){e.copy_||(e.assigned_=new Map,e.copy_=_s(e.base_,e.scope_.immer_.useStrictShallowCopy_))}Js.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&Qo(13),Js.set.call(this,e,t,void 0)},Js.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&Qo(14),Xs.set.call(this,e[0],t,n,e[0])};function ra(e,t,n,r){const[i,o]=Es(t)?Ts(Os).proxyMap_(t,n):bs(t)?Ts(Os).proxySet_(t,n):function(e,t){const n=ys(e),r={type_:n?1:0,scope_:t?t.scope_:Fs(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,o=Xs;n&&(i=[r],o=Js);const{revoke:s,proxy:a}=Proxy.revocable(i,o);return r.draft_=a,r.revoke_=s,[a,r]}(t,n);return(n?.scope_??Fs()).drafts_.push(i),o.callbacks_=n?.callbacks_??[],o.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const i=t;if(!i||!Vs(i,r))return;r.mapSetPlugin_?.fixSetContents(i);const o=Cs(i);Zs(e,i.draft_??i,o,n),Ks(i,r)})}(n,o,r):o.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(o);const{patchPlugin_:t}=e;o.modified_&&t&&t.generatePatches_(o,[],e)}),i}function ia(e){if(!ls(e)||Ns(e))return e;const t=e[Xo];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=_s(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=_s(e,!0);return ds(n,(e,t)=>{vs(n,e,ia(t))},r),t&&(t.finalized_=!1),n}globalThis.Iterator;var oa=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Ls(e)&&!Ls(t)){const n=t;t=e;const r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}let r;if(Ls(t)||Qo(6),void 0===n||Ls(n)||Qo(7),ls(e)){const i=Gs(this),o=ra(i,e,void 0);let s=!0;try{r=t(o),s=!1}finally{s?Bs(i):Ms(i)}return ks(i,n),Hs(r,i)}if(!e||!ws(e)){if(r=t(e),void 0===r&&(r=e),r===Ko&&(r=void 0),this.autoFreeze_&&Ds(r,!0),n){const t=[],i=[];Ts(As).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}Qo(1,e)},this.produceWithPatches=(e,t)=>{if(Ls(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Is(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Is(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Is(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){ls(e)||Qo(8),cs(e)&&(e=function(e){cs(e)||Qo(10,e);return ia(e)}(e));const t=Gs(this),n=ra(t,e,void 0);return n[Xo].isManual_=!0,Ms(t),n}finishDraft(e,t){const n=e&&e[Xo];n&&n.isManual_||Qo(9);const{scope_:r}=n;return ks(r,t),Hs(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=Ts(As).applyPatches_;return cs(e)?r(e,t):this.produce(e,e=>r(e,t))}},sa=oa.produce;const aa=(...e)=>ki(t=>e.includes(t.type));class ca extends xr{#ce=new Gr;#le;get action$(){return this.#ce.asObservable()}get value(){return this.#le.value}get closed(){return this.#le.closed||this.#ce.closed}constructor(e,t){super(e=>this.#le.subscribe(e));const n="getInitialState"in e?e.getInitialState():t;this.#le=new Hr(n),this.#ce.pipe(function(e,t){return Fr(Mi(e,t,arguments.length>=2,!0))}(e,n),Hi()).subscribe(this.#le),this.reset=()=>this.#le.next(n)}reset;next(e){this.#ce.next(e)}select(e,t){return this.#le.pipe(Di(e),Hi(t))}addEffect(e,t){const n="function"==typeof e?this.action$:Array.isArray(e)?this.action$.pipe(aa(...e)):this.action$.pipe(aa(e)),r=t||e;return n.pipe(Ai(e=>Ei(new Promise((t,n)=>{try{t(r(e,this.value))}catch(e){n(e)}})).pipe(Bi(e=>(console.warn("unhandled effect",e),ei)))),ki(e=>!!e),mi(Jr)).subscribe(this.#ce)}addEpic(e){return this.addFlow(e)}addFlow(e){const t=e(this.action$,this);if(!t)throw new TypeError(`addEpic: one of the provided effects "${e.name||"<anonymous>"}" does not return a stream. Double check you're not missing a return statement!`);return t.pipe(Bi(e=>(console.trace("unhandled exception, epic closed!",e),ei)),mi(Jr)).subscribe(this.#ce)}unsubscribe(){this.#ce.unsubscribe(),this.#le.unsubscribe()}complete(){this.#ce.complete(),this.#le.complete()}asObservable(){return this.#le.asObservable()}}const la="::";function ua(e,t){function n(...n){if(t){const r=t(...n);if(!r)throw new Error("prepareAction did not return an object");return{type:e,payload:r.payload,..."meta"in r&&{meta:r.meta},..."error"in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>t.type===e,n}function fa(e,t,n,r){const i=ua([e,"request"].join(la),t);return n&&Object.assign(i,{success:ua([e,"success"].join(la),n)}),r&&Object.assign(i,{failure:ua([e,"failure"].join(la),r)}),i}function pa(e){return ls(e)?sa(e,()=>{}):e}function da(e,t){const[n,r,i]=function(e){const t={},n=[];let r;const i={addCase(e,o){if("production"!==process.env.NODE_ENV){if(n.length>0)throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`");if(r)throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`")}const s="string"==typeof e?e:e.type;if(s in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[s]=o,i},addMatcher(e,t){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addDefaultCase` can only be called once");return r=e,i}};return e(i),[t,n,r]}(t);let o;if("function"==typeof e)o=()=>pa(e());else{const t=pa(e);o=()=>t}function s(e,t){let s=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];const a=s.filter(e=>!!e).length>0;return i&&!a&&(s=[i]),s.reduce((e,n)=>{if(n){if(cs(e)){const r=n(e,t);return void 0===r?e:r}if(ls(e))return sa(e,e=>n(e,t));{const r=n(e,t);if(void 0===r){if(null===e)return e;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}}return e},e??o())}return s.getInitialState=o,s}const ha={request:ua("client/request",(e,t)=>({payload:{args:e,options:t},meta:{transaction:Ho(),created:Date.now()}})),execute:fa("client/execute",e=>({payload:e,meta:{transaction:e,created:Date.now()}}),e=>({payload:e,meta:{transaction:e.transaction,created:Date.now()}}),(e,t)=>({payload:{error:e},meta:{transaction:t,created:Date.now()}})),cancel:ua("client/cancel",(e,t)=>({payload:{transaction:e,reason:t},meta:{transaction:e,created:Date.now()}})),error:ua("client/error",(e,t)=>({payload:{transaction:e,error:t},meta:{transaction:e,created:Date.now()}}))},ma=e=>e.pipe(ki(ha.request.match),Di(e=>ha.execute(e.meta.transaction)));class ga extends xr{#ue=new Hr("idle");get status(){return this.#ue.value}get status$(){return this.#ue.asObservable()}#fe;#pe;get transaction(){return this.#pe}created=Date.now();get closed(){return"complete"===this.status||"error"===this.status||"canceled"===this.status}constructor(e,t,n){super(t=>{const{transaction:r}=this,i=e.action$.pipe(ki(e=>e.meta.transaction===r));t.add(e.state$.pipe(ki(e=>!!e[r]),Di(e=>e[r])).subscribe(e=>{this.#ue.next(e.status)})),t.add(i.pipe(ki(ha.execute.success.match),Di(({payload:e})=>e)).subscribe(e=>{this.#ue.next("complete"),t.next(e),t.complete()})),t.add(i.pipe(ki(ha.error.match),Di(({payload:e})=>e)).subscribe(e=>{this.#ue.next("error"),t.error(e.error)})),t.add(i.pipe(ki(ha.cancel.match)).subscribe(e=>{this.#ue.next("canceled"),t.error(new Zo("abort",{message:e.payload.reason||`job: ${r} was canceled`,request:this.#fe.getRequest(e.meta.transaction)}))})),n?.signal&&t.add(xi(n?.signal,"abort").pipe(Di(()=>ha.cancel(r,`job: ${r} was aborted on signal from caller: ${n?.ref}`))).subscribe(t=>e.next(t))),t.add(()=>{this.complete()})}),this.#fe=e;const r=ha.request(t,{ref:n?.ref,retry:n?.retry});this.#pe=r.meta.transaction,this.#fe.next(r)}complete(e){this.closed||this.cancel(e??`job: ${this.transaction} was completed`)}cancel(e){const t=this.transaction;this.#fe.cancel(t,e??`job: ${t} was canceled`)}[Symbol.dispose](){this.complete()}}class va{type;transaction;data;constructor(e,t,n){this.type=e,this.transaction=t,this.data=n}}class ya extends xr{#le;#de;#he;_registerEvent(e,t,n){this.#he.next(new va(e,t,n))}get closed(){return this.#le.closed}get state$(){return this.#le.asObservable()}get action$(){return this.#le.action$}get event$(){return this.#he.asObservable()}get success$(){return this.action$.pipe(ki(ha.execute.success.match),Di(({payload:e})=>e))}get error$(){return this.action$.pipe(aa("client/error"),Qi(this.#le),Di(([e,t])=>{const{payload:n,meta:{transaction:r}}=e,i=t[r];return new Zo("error",{request:i,message:`job: ${r} failed`,cause:n})}))}constructor(e,t){super(e=>this.#le.subscribe(e)),this.#le=new ca(((e={})=>da(e,e=>{e.addCase(ha.request,(e,t)=>{e[t.meta.transaction]={...t.payload,...t.meta,execution:[],errors:[],status:"idle"}}),e.addCase(ha.execute,(e,t)=>{const n=e[t.payload];n&&(n.execution.push(Date.now()),n.status="active")}),e.addCase(ha.execute.success,(e,t)=>{delete e[t.payload.transaction]}),e.addCase(ha.execute.failure,(e,t)=>{const n=e[t.meta.transaction];n&&(n.errors.push(t.payload.error),n.status="failed")}),e.addCase(ha.error,(e,t)=>{delete e[t.meta.transaction]}),e.addCase(ha.cancel,(e,t)=>{delete e[t.meta.transaction]})}))({})),this.#de=new Er(()=>{this.#le.complete(),this.#he.complete()}),this.#he=new Gr,this.#de.add(this.#le.addFlow(ma)),this.#de.add(this.#le.addFlow((e=>(t,n)=>t.pipe(ki(ha.execute.match),Qi(n),Ai(([n,r])=>{const i=n.payload,o=r[i],s=new AbortController,a=t.pipe(ki(ha.cancel.match),ki(e=>e.payload.transaction===i),Ji(()=>{s.signal.aborted||s.abort()}));try{return Ei(e(o.args,s.signal)).pipe(Di(e=>ha.execute.success({...o,status:"complete",completed:Date.now(),value:e})),Bi(e=>bi(ha.execute.failure(e,i))),Xi(a))}catch(e){return bi(ha.execute.failure(e,i))}})))(e)));const n=Object.assign({count:0,delay:0},t?.retry);this.#de.add(this.#le.addFlow((e=>(t,n)=>t.pipe(ki(ha.execute.failure.match),Qi(n),Ai(([t,r])=>{const{transaction:i}=t.meta,o=r[i];if(!o)return bi(ha.error(i,new Zo("error",{message:"request not found, cannot retry request, most likely removed while scheduled for retry!"})));const s=o.execution.length,a=Object.assign({},e,o.options?.retry),c=o.errors?.slice(-1)[0]??new Zo("error",{message:"no errors registered for request!",request:o});if(s>a.count){const e=0===a.count?c:new Zo("error",{message:"maximum retries executed!",cause:o.errors,request:o});return bi(ha.error(i,e))}return("function"==typeof a.delay?Ei(a.delay(c)).pipe(Bi(e=>bi(ha.error(i,new Zo("error",{message:"retry delay callback failed!",cause:[...o.errors??[],e],request:o}))))):Fi(a.delay)).pipe(Qi(n),ki(([e,t])=>!!t[i]),Ji(([,e])=>{if(!e[i])throw new Zo("error",{message:"request not found, most likely removed while scheduled for retry",cause:o.errors,request:o})}),Di(()=>ha.execute(i)))})))(n))),this.#le.addEffect(ha.request.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_requested",t,e)}),this.#le.addEffect(ha.execute.type,({meta:{transaction:e}})=>{this._registerEvent("query_client_job_executing",e)}),this.#le.addEffect(ha.execute.success.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_completed",t,{payload:e})}),this.#le.addEffect(ha.execute.failure.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_failed",t,{error:n})}),this.#le.addEffect(ha.cancel.type,({payload:{reason:e},meta:{transaction:t}})=>{this._registerEvent("query_client_job_canceled",t,{reason:e||"no reason provided"})}),this.#le.addEffect(ha.error.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_error",t,{error:n})})}next(e){this.#le.next(e)}query(e,t){const n=new ga(this,e,t),r=n.pipe(function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new Gr}:t,r=e.resetOnError,i=void 0===r||r,o=e.resetOnComplete,s=void 0===o||o,a=e.resetOnRefCountZero,c=void 0===a||a;return function(e){var t,r,o,a=0,l=!1,u=!1,f=function(){null==r||r.unsubscribe(),r=void 0},p=function(){f(),t=o=void 0,l=u=!1},d=function(){var e=t;p(),null==e||e.unsubscribe()};return Fr(function(e,h){a++,u||l||f();var m=o=null!=o?o:n();h.add(function(){0!==--a||u||l||(r=Ki(d,c))}),m.subscribe(h),!t&&a>0&&(t=new Or({next:function(e){return m.next(e)},error:function(e){u=!0,f(),r=Ki(p,i,e),m.error(e)},complete:function(){l=!0,f(),r=Ki(p,s),m.complete()}}),pi(e).subscribe(t))})(e)}}({connector:()=>new qr,resetOnRefCountZero:!1}));return Object.defineProperties(r,{transaction:{get:()=>n.transaction},created:{get:()=>n.created},status:{get:()=>n.status},closed:{get:()=>n.closed},cancel:{value:e=>n.cancel(e)},complete:{value:()=>n.complete()}}),r}async nextAsync(e,t){return Ii(this.query(e,t))}getRequest(e){return this.#le.value[e]}getRequestByRef(e){return Object.values(this.#le.value).find(t=>t.ref===e)}cancelTaskByRef(e,t){const n=this.getRequestByRef(e);n?.ref&&this.cancel(n.transaction,t)}cancel(e,t){if(e)this.#le.value[e]&&(t??=`cancelation requested for job: ${e}`,this.#le.next(ha.cancel(e,t)));else for(const e of Object.keys(this.#le.value))this.cancel(e,"all transactions requested canceled")}on(e,t){return this.#le.addEffect(ha[e].type,e=>{t(e,this)})}complete(){this.#de.unsubscribe()}}const Ea={set:ua("cache/set",(e,t)=>({payload:{key:e,record:t}})),insert:ua("cache/insert",(e,t)=>({payload:{key:e,entry:t}})),remove:ua("cache/remove",e=>({payload:e})),invalidate:ua("cache/invalidate",(e,t)=>({payload:e,meta:{item:t}})),mutate:ua("cache/mutate",(e,t,n)=>({payload:{...t,key:e},meta:{item:n}})),trim:ua("cache/trim",e=>({payload:e}))},ba=(e,t)=>(t.updated??0)-(e.updated??0);class wa{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class La{#le;#he;get state(){return this.#le.value}get state$(){return this.#le.asObservable()}get action$(){return this.#le.action$}_registerEvent(e,t){this.#he.next(new wa(e,t?.key,t?.data))}get event$(){return this.#he.asObservable()}constructor(e){const{trimming:t,initial:n}=e??{};this.#le=new ca(function(e,t={}){return da(t,t=>t.addCase(e.set,(e,t)=>{const{key:n,record:r}=t.payload;e[n]=r}).addCase(e.insert,(e,t)=>{const{key:n,entry:r}=t.payload,i=e[n];if(i)i.updated=Date.now(),i.updates??=0,i.updates++,i.value=r.value,i.transaction=r.transaction,i.mutated=void 0;else{const t=Date.now();e[n]={...r,created:t,updated:t}}}).addCase(e.remove,(e,t)=>{delete e[t.payload]}).addCase(e.invalidate,(e,t)=>{const n=t.payload?[t.payload]:Object.keys(e);for(const t of n){const n=e[t];n&&(n.updated=void 0)}}).addCase(e.mutate,(e,t)=>{const{key:n,value:r,updated:i}=t.payload,o=e[n];o&&(o.value=r,o.updated=i,o.mutated=Date.now(),o.updates??=0,o.updates++)}).addCase(e.trim,(e,t)=>{const{payload:n}=t,r=n.sort??ba,i=Object.keys(e),o=Object.entries(e).filter(([e,t])=>!n.validate||n.validate(t)).sort((e,t)=>r(e[1],t[1])).slice(0,n.size??Number.MAX_SAFE_INTEGER).map(([e])=>e);if(i.length!==o.length)for(const t of i){const n=o.indexOf(t);-1!==n?o.splice(n,1):delete e[t]}}))}(Ea,n)),t&&this.#le.addEffect("cache/set",()=>this.#le.next(Ea.trim(t))),this.#he=new Gr}has(e){return e in this.#le.value}setItem(e,t){const{args:n,transaction:r,value:i}=t;this.#le.next(Ea.insert(e,{args:n,transaction:r,value:i})),this._registerEvent("query_cache_entry_inserted",{key:e,data:{value:i,args:n,transaction:r}})}getItem(e){return this.#le.value[e]}removeItem(e){this.#le.next(Ea.remove(e)),this._registerEvent("query_cache_entry_removed",{key:e})}invalidate(e){const t=e?this.#le.value[e]:void 0;this.#le.next(Ea.invalidate(e,t)),e&&this._registerEvent("query_cache_entry_invalidated",{key:e,data:{previousValue:t?.value}})}mutate(e,t){const n=e in this.#le.value?this.#le.value[e]:void 0;if(!n)throw new Error(`Cannot mutate cache item with key ${e}: item not found`);const r="function"==typeof t?t(n?.value):t;return this.#le.next(Ea.mutate(e,r,n)),this._registerEvent("query_cache_entry_mutated",{key:e,data:{previousValue:n.value,newValue:r,mutation:r}}),()=>this.#le.next(Ea.set(e,n))}trim(e){const t=new Set(Object.keys(this.#le.value));this.#le.next(Ea.trim(e));const n=new Set(Object.keys(this.#le.value)),r=Array.from(t).filter(e=>!n.has(e));this._registerEvent("query_cache_trimmed",{data:{removedKeys:r,criteria:e}})}reset(){this.#le.reset(),this._registerEvent("query_cache_reset")}complete(){this.#le.complete(),this.#he.complete()}}class Ia extends Gr{key;args;options;#me=Date.now();get created(){return this.#me}#ge=Ho();get uuid(){return this.#ge}constructor(e,t,n){super(),this.key=e,this.args=t,this.options=n}processJob(e){return e.pipe(Di(t=>{const{key:n,uuid:r,created:i}=this;return{key:n,uuid:r,created:i,status:"complete",transaction:e.transaction,complete:t.completed,value:t.value}}),Wi(()=>{e.complete()})).subscribe(this)}}class Sa{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Ca{static extractQueryValue=Uo;#de=new Er;#fe;#ve;#ye=new Gr;#Ee={};#be;#we;#Le=Ho();#se;get client(){return this.#fe}_registerEvent(e,t,n){this.#se.next(new Sa(e,t,n))}get cache(){return this.#ve}get event$(){return this.#se.asObservable()}constructor(e){this.#se=new Gr,this.#be=t=>Wo(e.key(t),this.#Le),this.#we=e?.validate??((e=0)=>t=>(t.updated??0)+e>Date.now())(e?.expire),e.client instanceof ya?this.#fe=e.client:(this.#fe=new ya(e.client.fn,{...e.client.options}),this.#de.add(()=>this.#fe.complete())),this.#de.add(this.#fe.event$.subscribe({next:e=>this.#se.next(e)})),e.cache instanceof La?this.#ve=e.cache:(this.#ve=new La(e.cache||{}),this.#de.add(()=>this.#ve.complete())),this.#de.add(this.#ve.event$.subscribe({next:e=>this.#se.next(e)}));const t=((e="switch")=>"function"==typeof e?e:(()=>{switch(e){case"concat":return $o;case"merge":return To;case"switch":return xo;default:throw new Error(`Invalid queue operator: ${e}`)}})())(e.queueOperator);var n,r;this.#de.add(()=>this.#ye.complete()),this.#de.add(this.#ye.pipe(Ji(e=>{this._registerEvent("query_queued",e)}),ki(e=>!!(e in this.#Ee)),t(e=>{const t=this.#Ee[e],{args:n,options:r,uuid:i}=t;if(this._registerEvent("query_job_selected",e,{taskId:i,args:n,options:r}),!t?.observed)return this._registerEvent("query_job_skipped",e,{taskId:i,args:n,options:r}),delete this.#Ee[e],ei;const o=this.#fe.query(n,{...r,ref:t.uuid});return new xr(s=>{const{transaction:a}=o;var c,l;this._registerEvent("query_job_started",e,{taskId:i,transaction:a,args:n,options:r}),s.add(()=>{this._registerEvent("query_job_closed",e,{taskId:i,transaction:a,args:n,options:r}),o.complete("task closed"),delete this.#Ee[e]}),s.add((c=10,void 0===l&&(l=Jr),Fi(c,c,l)).pipe(ki(()=>!t.observed)).subscribe(()=>{o.cancel(`task: ${t.uuid} is not observed`),s.complete()})),s.add(t.processJob(o).add(()=>{this._registerEvent("query_job_completed",e,{taskId:i,transaction:a,args:n,options:r})})),o.pipe(Di(e=>({result:e,task:t})),Bi(()=>ei)).subscribe(s)})}),(n=()=>!this.#fe.closed,void 0===r&&(r=!1),Fr(function(e,t){var i=0;e.subscribe(kr(t,function(e){var o=n(e,i++);(o||r)&&t.next(e),!o&&t.complete()}))}))).subscribe(e=>{const{value:t,transaction:n}=e.result,{args:r,key:i,uuid:o}=e.task;this._registerEvent("query_cache_added",i,{data:t,taskId:o,args:r,transaction:n}),this._registerEvent("query_completed",i,{data:t,hasValidCache:!0}),this.#ve.setItem(i,{value:t,args:r,transaction:n})}))}query(e,t){return this._query(e,t)}queryAsync(e,t){const{skipResolve:n,...r}=t||{},i=n?Ii:Li;return new Promise((n,o)=>{t?.signal&&t.signal.addEventListener("abort",()=>o(new Error("Query aborted"))),i(this._query(e,r).pipe(qi())).then(n,o)})}persistentQuery(e,t){const n=this.#be(e),r=this._query(e,t);return new xr(i=>{i.add(r.subscribe({next:i.next.bind(i),error:i.error.bind(i)}));const o=t?.cache?.validate||this.#we;i.add(this.cache.state$.pipe(ki(e=>n in e),Di(t=>({...t[n],key:n,status:"cache",hasValidCache:o(t[n],e)}))).subscribe(i))}).pipe(Hi((e,t)=>e.transaction===t.transaction&&e.mutated===t.mutated))}generateCacheKey(e){return this.#be(e)}mutate(e,t,n){const r=this.#be(e);if(r in this.cache.state==!1){if(void 0===n?.allowCreation)throw new Error(`Cannot mutate cache item with key ${r}: item not found and option "allowCreation" is false`);if(!1===n.allowCreation)return()=>{};const{value:i}="function"==typeof t?t():t;this.cache.setItem(r,{args:e,transaction:Ho(),value:i})}return this.#ve.mutate(r,t)}invalidate(e){this.#ve.invalidate(e&&this.#be(e))}complete(){this.#de.unsubscribe(),this.#se?.complete()}onInvalidate(e){const t=this.#ve.action$.pipe(aa("cache/invalidate")).subscribe(t=>e({detail:{item:t.meta.item}}));return()=>t.unsubscribe()}onMutate(e){const t=this.#ve.action$.pipe(aa("cache/mutate")).subscribe(t=>e({detail:{changes:t.payload,current:t.meta.item}}));return()=>t.unsubscribe()}_query(e,t){const n=this.#be(e),r=this._createTask(n,e,t);return this._registerEvent("query_created",n,{args:e,options:t}),r}_createTask(e,t,n){return new xr(r=>{if(n?.signal){if(n?.signal.aborted)return this._registerEvent("query_aborted",e),r.complete();r.add(xi(n?.signal,"abort").subscribe(()=>{this._registerEvent("query_aborted",e),r.complete()}))}const i=this.#ve.getItem(e);if(i){this._registerEvent("query_cache_hit",e,{cacheEntry:i});const o=n?.cache?.suppressInvalid??!1,s=(n?.cache?.validate||this.#we)(i,t),a={...i,key:e,status:"cache",hasValidCache:s};if(r.next(a),s||o)return this._registerEvent("query_completed",e,{data:i.value,hasValidCache:s}),r.complete();this._registerEvent("query_cache_miss",e)}const o=e in this.#Ee;o?this._registerEvent("query_connected",e,{isExistingTask:!0}):(this.#Ee[e]=new Ia(e,t,n),this._registerEvent("query_job_created",e,{taskId:this.#Ee[e].uuid,args:t,options:n}));const s=this.#Ee[e];r.add(s.subscribe(r)),o||this.#ye.next(e)})}}class _a extends Error{retryAt;attempt;constructor(e){const t=Math.max(0,Math.ceil((e.retryAt-Date.now())/1e3));super(`Service discovery is unavailable after ${e.attempt} failed attempt(s); requests are paused for ${t}s`,{cause:e.cause}),this.name="ServiceDiscoveryUnavailableError",this.retryAt=e.retryAt,this.attempt=e.attempt}}const Da=$.object({key:$.string().describe("The key used to identify the service"),uri:$.string().describe("The URI of the service"),id:$.string().optional().describe("The ID of the service"),environment:$.string().optional().describe("The environment of the service"),name:$.string().optional().describe("The name of the service"),scopes:$.array($.string()).optional().default([]).describe("Endpoint authentication scopes"),tags:$.array($.string()).optional().describe("Tags for the service")}).describe("A service from the service discovery API").transform(e=>({...e,get defaultScopes(){return e.scopes??[]}})),Pa=$.array(Da).describe("A list of services from the service discovery API");class Na{#Ie;#Se;#Ce;endpoint;http;constructor(e){this.http=e.http,this.endpoint=e.endpoint;const t=e.postProcess;this.#Ie=new Ca({client:{fn:()=>this.http.fetch$(this.endpoint??"",{selector:e=>((e,t)=>{const n=Ei(Po(e)).pipe(Di(e=>Pa.default([]).parse(e)));return t?n.pipe(t):n})(e,t)})},key:()=>"services",expire:3e5})}async resolveServices(e){if(this.#Se&&Date.now()<this.#Se.retryAt)return this.#_e(new _a({cause:this.#Se.error,retryAt:this.#Se.retryAt,attempt:this.#Se.attempt}));const t=Date.now();try{const t=e?Ii:Li,n=await t(this.#Ie.query());return"complete"===n.status&&(this.#Se=void 0,this.#Ce={services:n.value,receivedAt:Date.now()}),n.value}catch(e){return this.#De(e,t),this.#_e(e)}}#De(e,t){if(this.#Se&&this.#Se.failedAt>=t)return;const n=(this.#Se?.attempt??0)+1,r=Math.min(3e4,1e3*2**(n-1)),i=Math.round(r*(.8+.2*Math.random())),o=Date.now();this.#Se={error:e,attempt:n,failedAt:o,retryAt:o+i},1===n&&console.warn("[service-discovery] request failed; pausing requests with backoff (max 30000ms)",e)}#_e(e){const t=this.#Ce;if(t&&Date.now()-t.receivedAt<=864e5)return t.services;throw e}async resolveService(e,t){const n=(await this.resolveServices(t)).find(t=>t.key===e);if(!n)throw Error(`Failed to resolve service, invalid key [${e}]`);return n}}class Oa extends to{async _createConfig(e,t){if(!e.hasModule("http"))throw new Error("http module is required");if(!this._has("discoveryClient")){(await e.requireInstance("http")).hasClient("service_discovery")&&this.configureServiceDiscoveryClientByClientKey("service_discovery")}return Li(Ei(super._createConfig(e,t)))}_processConfig(e,t){if(!e.discoveryClient)throw new Error("discoveryClient is required, please configure it");return super._processConfig(e,t)}setServiceDiscoveryClient(e){this._set("discoveryClient","function"==typeof e?e:async()=>e)}configureServiceDiscoveryClient(e){this.setServiceDiscoveryClient(async t=>{const{httpClient:n,endpoint:r}=await Li(Ei(e(t)))??{};if(n)return new Na({http:n,endpoint:r,postProcess:Di(e=>{const t="undefined"!=typeof globalThis?globalThis.sessionStorage:void 0;if(!t)return e;try{const n=JSON.parse(t.getItem("overriddenServiceDiscoveryUrls")||"{}");for(const[t,{url:r,scopes:i}]of Object.entries(n)){const n=e.find(e=>e.key===t);n&&(n.uri=r,n.scopes=i,n.overridden=!0)}}catch(e){console.error('Failed to JSON parse session overrides: "overriddenServiceDiscoveryUrls"',e)}return e})});throw Error("httpClient is required")})}configureServiceDiscoveryClientByClientKey(e,t){this.configureServiceDiscoveryClient(async({requireInstance:n})=>({httpClient:(await n("http")).createClient(e),endpoint:t}))}}class Aa extends ao{config;_http;constructor(e,t){super({version:"10.2.0",config:e}),this.config=e,this._http=t}get client(){return this.config.discoveryClient}resolveServices(){return this.config.discoveryClient.resolveServices()}async resolveService(e){return this.config.discoveryClient.resolveService(e)}async createClient(e,t){const n=await this.resolveService(e);if(!n)throw Error(`Could not load configuration of service [${e}]`);return this._http.createClient({...t,baseUri:n.uri,defaultScopes:n.scopes})}async configureClient(e,t){const{key:n,alias:r}="string"==typeof e?{key:e,alias:e}:e,{uri:i,scopes:o}=await this.resolveService(n);var s,a;t.addConfig((s=r,a={baseUri:i,defaultScopes:o},{module:Ro,configure:e=>{e.configureClient(s,a)}}))}}const Ra={name:"serviceDiscovery",configure:()=>new Oa,initialize:async e=>{const{requireInstance:t,ref:n}=e,r=await e.config.createConfigAsync(e,{...n?.serviceDiscovery?.config}),i=await t("http");return new Aa(r,i)}},$a=(e,t)=>{e.addConfig((e=>({module:Ra,configure:t=>e(t)}))(()=>Promise.resolve()))};var Ta,xa,Ua,Fa={},ka=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Alpic",constant:"ALPIC",env:"ALPIC_HOST"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE",pr:{env:"AC_GIT_PR",ne:"false"}},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN",pr:{env:"CODEBUILD_WEBHOOK_EVENT",any:["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Cloudflare Pages",constant:"CLOUDFLARE_PAGES",env:"CF_PAGES"},{name:"Cloudflare Workers",constant:"CLOUDFLARE_WORKERS",env:"WORKERS_CI"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}];function Ba(){return Ta||(Ta=1,function(e){const t=ka,n=process.env;function r(e){return"string"==typeof e?!!n[e]:"env"in e?n[e.env]&&n[e.env].includes(e.includes):"any"in e?e.any.some(function(e){return!!n[e]}):Object.keys(e).every(function(t){return n[t]===e[t]})}Object.defineProperty(e,"_vendors",{value:t.map(function(e){return e.constant})}),e.name=null,e.isPR=null,e.id=null,"false"!==n.CI&&t.forEach(function(t){const i=(Array.isArray(t.env)?t.env:[t.env]).every(function(e){return r(e)});e[t.constant]=i,i&&(e.name=t.name,e.isPR=function(e){switch(typeof e.pr){case"string":return!!n[e.pr];case"object":return"env"in e.pr?"any"in e.pr?e.pr.any.some(function(t){return n[e.pr.env]===t}):e.pr.env in n&&n[e.pr.env]!==e.pr.ne:"any"in e.pr?e.pr.any.some(function(e){return!!n[e]}):r(e.pr);default:return null}}(t),e.id=t.constant)}),e.isCI=!("false"===n.CI||!(n.BUILD_ID||n.BUILD_NUMBER||n.CI||n.CI_APP_ID||n.CI_BUILD_ID||n.CI_BUILD_NUMBER||n.CI_NAME||n.CONTINUOUS_INTEGRATION||n.RUN_ID||e.name))}(Fa)),Fa}var Ma,Ga=q(Ua?xa:(Ua=1,xa=Ba().isCI));!function(e){e.ContinuesIntegration="ci",e.QualityAssurance="fqa",e.Training="tr",e.Production="fprd",e.Development="dev"}(Ma||(Ma={}));const ja=["5a842df8-3238-415d-b168-9f16a6a6031b/.default"],Ha=e=>{const t=new po,n=e.env??Ma.ContinuesIntegration;t.addConfig({module:Ro,configure:t=>{const r=n===Ma.Development?Ma.ContinuesIntegration:n,i=e.serviceDiscovery?.url??new URL(`/service-registry/environments/${r}/services`,"https://discovery.fusion.equinor.com").toString(),o=e.serviceDiscovery?.scope??ja;t.defaultHttpRequestHandler.set("fusion-cli-identification",xn),t.configureClient("service_discovery",{baseUri:i,defaultScopes:o})}}),$a(t);const{auth:r}=e;return z(t,e=>{if("defaultCredential"in r&&r.defaultCredential)return void e.setDefaultCredential();if("token"in r&&r.token)return void e.setTokenOnly(r.token);const{clientId:t,tenantId:n}=r;if(!t||!n)throw new Error("clientId and tenantId are required for auth module");if("interactive"in r&&r.interactive){const{server:i}=r;if(!i.port)throw new Error("server.port is required for interactive mode");return void e.setInteractive({tenantId:n,clientId:t,redirectPort:i.port,onOpen:i.onOpen})}Ga?e.setDefaultCredential():e.setInteractive({tenantId:n,clientId:t,redirectPort:49741})}),t},za=async(e,t)=>{const n=Ha(e);t&&t(n);return await n.initialize()},qa=e=>{const t=e.getEntry("metadata.json");if(!t)throw new Error("Metadata file not found in bundle");return new Promise((e,n)=>{t.getDataAsync((t,r)=>{if(r)return n(new Error("Failed to read metadata file",{cause:r}));try{return e(JSON.parse(String(t)))}catch(e){n(new Error("Failed to parse metadata file",{cause:e}))}})})},Va=async e=>{const{log:t,bundle:n}=e;let r;if(n)try{t?.info("ðïļ","Using artifact-based validation from bundle:",n);const e=new yn(n),i=await(async e=>{const t=await qa(e);if(!t.appKey||"string"!=typeof t.appKey||""===t.appKey.trim())throw new Error("App manifest is missing required appKey field");return t})(e);r=i.appKey,t?.info("ðĶ",`Resolved app key "${r}" from bundle artifact`)}catch(e){return t?.fail("ðŦ","Failed to resolve app information from bundle:",e instanceof Error?e.message:String(e)),!1}else{t?.info("ð","Using traditional validation from local project files");const e=await Ct(t);r=(await St({command:"build",mode:"production"},e,{log:t})).appKey}t?.start("Initializing Fusion Framework...");const i=await za({env:e.environment,auth:"token"in e.auth?{token:e.auth.token}:e.auth});t?.succeed("Initialized Fusion Framework");try{const e=await i.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)}),t?.info("Checking if",r,"is registered in app store");const n=await e.fetch(`/apps/${r}`,{method:"HEAD",headers:Tn});if(n.ok)return t?.succeed("ð",`Application ${r} is registered in app store`),!0;if(404===n.status)return t?.fail("ð",`Application ${r} is not registered in app store`),!1;if(410===n.status)return t?.fail("ð",`Application ${r} is deleted from app store`),!1;const o=Mn(n.status,`check registration for ${r}`);throw o&&(t?.fail("ð",`Authentication/authorization error checking ${r}`),t?.error(o),process.exit(1)),new Error(`Unexpected response status: ${n.status}`)}catch(e){const n=Hn(e,`check registration for ${r}`);return n&&(t?.fail("ð",`Token acquisition failed checking ${r}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Error checking application registration"),t?.error("Error checking application registration:",e instanceof Error?e.message:e),!1}};const Wa=async e=>{const{log:t,framework:n}=e,r="string"==typeof e.fileOrBundle?new yn(e.fileOrBundle):e.fileOrBundle,{appKey:o}=e.appKey?{appKey:e.appKey}:await qa(r).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)});t?.info("ðĶ",`Uploading application bundle for ${i.bold(o)}`);const s=(await r.getEntries()).map(e=>e.entryName);t?.debug("Bundle contents:",s);const a=await r.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)});const r=await e.fetch(`/bundles/apps/${o}`,{method:"POST",body:new Blob([a],{type:"application/zip"}),headers:{...Tn,"Content-Type":"application/zip"}});if(!r.ok){try{const{error:e}=await r.json();t?.debug("Error:",e),e.message&&t?.warn(i.red(`ðĪŊ error: ${e.code}\n`),i.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",r.statusText)}!function(e,t,n){const r=Mn(e.status,`upload bundle for ${t}`);let i;switch(r&&(n?.fail("ð",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion app store`;break;case 404:i=`${e.status} - ${t} not found, please add your application in App Admin before publishing`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("ð
ââïļ",i),process.exit(1)}(r,o,t)}t?.succeed("Successfully uploaded application bundle"),t?.debug("Response:",r);try{return{appKey:o,version:(await r.json()).version}}catch(e){t?.fail("ð
ââïļ",`Failed to parse response from app service: ${e instanceof Error?e.message:e}`),process.exit(1)}}catch(e){const n=Hn(e,`upload bundle for ${o}`);n&&(t?.fail("ð",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Failed to upload application bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},Za=async e=>{const{tag:t,appKey:n,version:r,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("ðĪŠ","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("ðĪŠ",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("ðĪŠ","Application key is required."),process.exit(1)),r||(s?.fail("ðĪŠ","Version is required."),process.exit(1));try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("ð","Executing request to:",It(e.uri))}),s?.start("Publishing application config");const a=await e.json(`/apps/${n}/tags/${t}`,{method:"PUT",body:{version:r},headers:Tn});return s?.debug("Response:",a),s?.succeed("Tagged application successfully",i.greenBright(`${n}@${r} - ${t}`)),a}catch(e){if(e instanceof Xn)switch(e.response.status){case 410:s?.fail("ðĪŽ",`App ${n} is deleted from apps-service. Please check the app key and try again.`);break;case 404:s?.fail("ðĪŽ",`App ${n} not found. Please check the app key and try again.`);break;case 403:case 401:{const t=Mn(e.response.status,`tag ${n}@${r}`);s?.fail("ð","Authentication/authorization error tagging application."),t&&s?.error(t),process.exit(1);break}default:s?.fail("ðĪŽ","Failed to tag application",`Status code: ${e.response.status}`,`Error: ${e.message}`)}const t=Hn(e,`tag ${n}@${r}`);t&&(s?.fail("ð",`Token acquisition failed tagging ${n}@${r}`),s?.error(t),process.exit(1)),s?.fail("ðĪŽ","Failed to tag application:",e instanceof Error?e.message:String(e)),process.exit(1)}},Ka=T.object({templateEntry:T.string({message:"templateEntry must be a string"}).describe("Main entry point for the portal"),schemaEntry:T.string({message:"schemaEntry must be a string"}).describe("Schema file for portal validation"),assetPath:T.string({message:"assetPath must be a string"}).optional().describe("Asset path for dev/preview builds"),githubRepo:T.string({message:"githubRepo must be a string"}).optional().describe("GitHub repo URL or local git remote"),version:T.string({message:"version must be a string"}).describe("Version from package.json"),timestamp:T.string({message:"timestamp must be a string"}).describe("Current build timestamp (ISO8601)"),commitSha:T.string({message:"commitSha must be a string"}).describe("Current git commit SHA"),annotations:T.record(T.string(),T.string().nullish()).optional().transform(e=>{if(!e)return;const t=Object.entries(e).filter(([,e])=>void 0!==e);return Object.fromEntries(t)}).describe("Optional build annotations"),projectPage:T.string({message:"projectPage must be a string"}).optional().describe("Optional project homepage"),allowedExtensions:T.array(T.string({message:"Each allowed extension must be a string"}),{message:"allowedExtensions must be an array of strings"}).describe("List of allowed asset extensions (with leading dot)"),schema:T.record(T.string(),T.unknown()).optional().describe("Optional schema for the portal"),config:T.record(T.string(),T.unknown()).optional().describe("Optional configuration for the portal")}),Ya=T.object({name:T.string({message:"name must be a string"}).describe("Short app key (unscoped, derived from package name)"),displayName:T.string({message:"displayName must be a string"}).optional().describe("Full package name, may include scope"),description:T.string({message:"description must be a string"}).optional().describe("Description of the portal"),build:Ka}),Xa=(e,t)=>{ft(t,"expected packageJson"),P(t.name,"expected [name] in packageJson"),P(t.version,"expected [version] in packageJson");const n=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/bundle.js":ct(e.root))(e,t),r=t.name.replace(/^@|\w.*\//gm,""),i=t.version,o="build"===e.command?void 0:"/@fs",s=pt(t)??dt(),a=Et.map(e=>`.${e}`),c={name:r,displayName:t.name,description:t.description||"",build:{templateEntry:n,schemaEntry:"portal.schema.json",assetPath:o,githubRepo:s,version:i,timestamp:(new Date).toISOString(),commitSha:ht(),annotations:{...yt()},projectPage:t.homepage,allowedExtensions:a}},l=Ya.safeParse(c);if(!l.success){const e=l.error.issues.map(e=>`- ${e.path.join(".")}: ${e.message}`).join("\n");throw new Error(["Invalid portal manifest generated from package.json:",e].join("\n"))}return l.data},Ja=async(e,t,n)=>{const r=Xa(e,t.packageJson);try{n?.log?.start("loading manifest...");const t=await(async(e,t)=>{const n=t?.file??[`portal.manifest.${e.environment}`,"portal.manifest"],r=await I(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};let i;return i="function"==typeof n.default?await n.default(e,{base:r})??void 0:n.default,i?C(r,i):r}}}),i=r.config,o=Ya.safeParse(i);if(!o.success){const e=o.error.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join("; ");throw new Error(`Invalid portal manifest: ${e}`)}return{manifest:i,path:r.path,extension:r.extension}})(e,{base:r});return n?.log?.succeed("generated manifest from",It(t.path,{relative:!0})),t.manifest}catch(e){if(e instanceof S){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${It(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(i.dim("no local manifest config applied, using default generated from package")),r}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?It(n?.manifestPath):""}`),e}},Qa=async(e,t)=>{const{log:n}=t;try{n?.start("create portal configuration"),n?.info(`generating config with ${i.red.dim(e.command)} command in ${i.green.dim(e.mode)} mode`);const r=await((e,t)=>{const n=t?.file??[`portal.config.${e.environment}`,"portal.config"];return I(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.schema??$.object({}).passthrough(),i=t?.base??{};if("function"==typeof n.default){const t=await n.default(i,e)??i;return r.parse(t)}return r.parse(n.default??i)}}})})(e,{file:t?.config});return n?.succeed("âïļ generated config from ",It(r.path,{relative:!0})),r.config}catch(e){if(e instanceof S){if(!t.config)return n?.succeed(i.dim("âïļ no local portal config applied, using built-in")),{};n?.warn(`failed to load config file ${It(t.config)}, please check the path.`)}throw n?.fail("failed to resolve portal config"),n?.debug(e),e}},ec=async e=>{const{log:n}=e??{},r=await Ct(n),i={root:r.root,environment:"local",...e?.env,mode:"development",command:"serve"},o=await Ja(i,r,{log:n,manifestPath:e?.manifest}),s=await Qa(i,{log:n,config:e?.config}),a=t(await ut(i,r),{server:{port:e?.server?.port,fs:{allow:[r.root]}}}),c={template:{portal:{id:o.name}},portal:{manifest:o,config:s}};n?.debug("vite config:",a),n?.debug("dev server config:",c),n?.start("Starting app development server...");const l=await Rn(i,c,{overrides:a,log:n});return await l.listen(),n?.succeed(`Started app development server on ${l.resolvedUrls?.local?.[0]}`),l},tc=async e=>{const{log:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve portal");const s=await Ct(n);n?.start("Loading Vite config...");const c=await ut({root:s.root,command:"build",mode:"production"},s);n?.succeed("Vite config loaded");const l=r||(c.build?.outDir||"dist"),u=a(s.root,l),f={root:s.root,environment:"local",mode:"production",command:"serve",isPreview:!0},p=await Ja(f,s,{log:n,manifestPath:e?.manifest}),d=await Qa(f,{log:n,config:e?.config});if(n?.debug("Output directory:",u),!b(u))throw new Error(`Build directory does not exist: ${u}\nPlease build the portal first using \`ffc portal build\``);p.build.assetPath=void 0,p.build.templateEntry=`/${p.build.templateEntry}`;const h=await ut(f,s),m=t(h,{server:{port:i,host:o||h.server?.host||"localhost",fs:{allow:[s.root,u]}}}),g={template:{portal:{id:p.name}},portal:{manifest:p,config:d}};n?.debug("vite config:",m),n?.debug("dev server config:",g),n?.start("Starting preview server...");try{const e=await Rn(f,g,{overrides:m,log:n});await e.listen(),n?.succeed("Preview server started successfully");const t=e.config.server?.https?"https":"http",r=e.config.server?.host||o,s=e.config.server?.port||i;return n?.info(`Preview server is running at: ${t}://${r}:${s}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}},nc=async e=>{const{log:t}=e??{},n=await Ct(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await Ja(r,n,{log:t,manifestPath:e?.manifest});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},rc=async e=>{const{log:t}=e??{};t?.log(i.bold("Starting to build portal"));const{manifest:r,pkg:o,env:s}=await nc({log:t,manifest:e?.manifest});t?.start("loading vite config...");const a=await ut(s,o);t?.succeed("vite config applied"),t?.debug("vite config:",a),t?.start("ðĪðŧ","building portal..."),t?.startNativeConsoleCapture(),await n(a),t?.stopNativeConsoleCapture(),t?.succeed("build completed ð");return{pkg:o,manifest:r,outDir:a.build.outDir}},ic=async e=>{const{log:t,manifest:n}=e,r={command:"build",mode:process.env.NODE_ENV??"production",environment:null,root:process.cwd()},{pkg:i,manifest:o}=await rc({log:t,manifest:n});if(!o.build)throw new Error("Manifest build config not found");const s=await(async(e,t)=>{const n=t?.file??[`portal.schema.${e.environment}`,"portal.schema"],r=await I(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async t=>{const n="function"==typeof t.default?await Promise.resolve(t.default(e)):t.default;if(!n)throw new Error("Schema function did not return a valid schema");return n}}});return{schema:r.config,path:r.path,extension:r.extension}})(r,{file:e?.schema});t?.debug("Schema:",s);return{archive:await Vn(i,{log:t,archive:e?.archive,content:{"portal-template-manifest.json":JSON.stringify(o.build,null,2),"portal.schema.json":JSON.stringify(s.schema,null,2),"metadata.json":JSON.stringify({name:o.name,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o,schema:s.schema}},oc=async e=>{const{log:t}=e??{},n=await Ct(t),r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env},i=await Qa(r,{log:t,config:e?.config});if(t?.debug("config:",i),e?.output){t?.start("writing config to file");try{await zn(e.output,JSON.stringify(i,null,2)),t?.succeed("config written successfully",It(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:i,pkg:n}},sc=async e=>{const{log:t,portal:n}=e,{config:r}=await oc({log:t,config:e.config,env:{environment:e.environment}});t?.start("Initializing Fusion Framework...");const o=await za({env:e.environment,auth:e.auth});t?.succeed("Initialized Fusion Framework");try{const s=await o.serviceDiscovery.createClient("portals");s.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("ð","Executing request to:",It(e.uri))}),t?.start("Publishing portal config"),t?.info("Using environment:",i.redBright(e.environment));const a=await s.json(`/portals/${n.name}@${n.version}/config`,{method:"PUT",body:r,headers:Tn});t?.debug("Response:",a),t?.succeed("Published portal config")}catch(e){if(e instanceof Xn)switch(e.response.status){case 410:t?.fail("ðĪŽ",`Portal ${n.name} is deleted from portals-service. Please check the portal key and try again.`);break;case 404:t?.fail("ðĪŽ",`Portal ${n.name} not found. Please check the portal key and try again.`);break;case 403:case 401:{const r=Mn(e.response.status,`publish config for portal ${n.name}`);t?.fail("ð","Authentication/authorization error publishing portal config."),r&&t?.error(r),process.exit(1);break}default:t?.fail("ðĪŽ","Failed to publish portal config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const r=Hn(e,`publish config for portal ${n.name}`);r&&(t?.fail("ð",`Token acquisition failed publishing config for ${n.name}`),t?.error(r),process.exit(1)),t?.fail("ðĪŽ","Failed to publish portal config:",e instanceof Error?e.message:String(e)),process.exit(1)}};const ac=async e=>{const{log:t,framework:n}=e,r="string"==typeof e.fileOrBundle?new yn(e.fileOrBundle):e.fileOrBundle,{name:o}=e.name?{name:e.name}:await qa(r).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)}),s=await r.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)});const r=await e.fetch(`/bundles/templates/${o}`,{method:"POST",body:new Blob([s],{type:"application/zip"}),headers:{...Tn,"Content-Type":"application/zip"}});if(!r.ok){try{const{error:e}=await r.json();t?.debug("Error:",e),e.message&&t?.warn(i.red(`ðĪŊ error: ${e.code}\n`),i.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",r.statusText)}!function(e,t,n){const r=Mn(e.status,`upload portal bundle for ${t}`);let i;switch(r&&(n?.fail("ð",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion`;break;case 404:i=`${e.status} - ${t} not found`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("ð
ââïļ",i),process.exit(1)}(r,o,t)}t?.succeed("Successfully uploaded portal bundle"),t?.debug("Response:",r)}catch(e){const n=Hn(e,`upload portal bundle for ${o}`);n&&(t?.fail("ð",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Failed to upload portal bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},cc=async e=>{const{tag:t,name:n,version:r,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("ðĪŠ","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("ðĪŠ",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("ðĪŠ","Portal name is required."),process.exit(1)),r||(s?.fail("ðĪŠ","Version is required."),process.exit(1)),s?.info("Tagging portal:",i.greenBright(`${n}@${t}`,r));try{const e=await o.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("ð","Executing request to:",It(e.uri))}),s?.start("Tagging portal template...");const i=await e.json(`/templates/${n}/tags/${t}`,{method:"PUT",body:{version:r},headers:Tn});s?.debug("Response:",i),s?.succeed("Tagged portal template successfully"),s?.info("ð",JSON.stringify(i))}catch(e){if(e instanceof Xn){const{data:t,response:o}=e;switch(s?.debug("Error:",t),t&&s?.warn(i.red(`ðĪŊ error: ${t.code}\n`),i.yellowBright(t.message),"\n"),o?.status){case 410:s?.fail(`ðĪŽ - ${o?.status} -`,`${n} is deleted. Please check the name and try again.`);break;case 404:s?.fail(`ðĪŽ - ${o?.status} -`,`${n} not found. Please check the name and try again.`);break;case 403:case 401:{const e=Mn(o?.status??401,`tag portal ${n}@${r}`);s?.fail("ð","Authentication/authorization error tagging portal."),e&&s?.error(e),process.exit(1);break}default:s?.fail(`ðĪŽ - ${o?.status} -`,"Failed to tag",`Error: ${e.message}`)}}const t=Hn(e,`tag portal ${n}@${r}`);t&&(s?.fail("ð",`Token acquisition failed tagging ${n}@${r}`),s?.error(t),process.exit(1)),s?.fail("ðĪŽ","Failed to tag portal:",e instanceof Error?e.message:String(e)),process.exit(1)}},lc=e=>e&&!Ga?Ma.Development:Ma.ContinuesIntegration;export{Nn as ConsoleLogger,Ma as FusionEnv,Dt as buildApplication,rc as buildPortal,Wn as bundleApp,ic as bundlePortal,Va as checkApp,Ha as configureFramework,Tn as defaultHeaders,Kn as generateApplicationConfig,oc as generatePortalConfig,za as initializeFramework,_t as loadAppManifest,nc as loadPortalManifest,Vn as pack,er as publishAppConfig,sc as publishPortalConfig,lc as resolveDefaultEnv,nr as serveApplication,tc as servePortal,tr as startAppDevServer,ec as startPortalDevServer,Za as tagApplication,cc as tagPortal,Wa as uploadApplication,ac as uploadPortalBundle};
|
|
1
|
+
import{loadConfigFromFile as e,mergeConfig as t,build as n,loadEnv as r}from"vite";import i from"chalk";import o from"vite-tsconfig-paths";import{dirname as s,resolve as a,basename as c,extname as l,relative as u}from"node:path";import{readPackageUp as f}from"read-package-up";import p,{fileURLToPath as d}from"node:url";import h from"node:module";import m from"util";import{accessSync as g,constants as v,readFileSync as y,statSync as E,existsSync as b,mkdirSync as w,writeFileSync as L}from"node:fs";import{importConfig as I,FileNotFoundError as S}from"@equinor/fusion-imports";import C from"deepmerge";import{reactRouterPlugin as _}from"@equinor/fusion-framework-vite-plugin-react-router";import{rawImportsPlugin as D}from"@equinor/fusion-framework-vite-plugin-raw-imports";import P from"node:assert";import{execSync as N}from"node:child_process";import{coerce as O,SemVer as A,satisfies as R,valid as $}from"semver";import T,{z as x}from"zod";import U from"fs";import F from"path";import k from"zlib";import B from"crypto";import{stat as M,mkdir as G}from"node:fs/promises";import j from"ora";import{processServices as H,createDevServer as z}from"@equinor/fusion-framework-dev-server";import{enableAzureIdentityAuth as q}from"@equinor/fusion-framework-module-azure-identity";function V(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var W,Z,K,Y;function X(){if(Z)return W;Z=1;const e="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return W=e}function J(){if(Y)return K;Y=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return K={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}var Q,ee,te,ne,re,ie,oe,se,ae,ce,le,ue,fe,pe={exports:{}};function de(){return Q||(Q=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=J(),o=X(),s=(t=e.exports={}).re=[],a=t.safeRe=[],c=t.src=[],l=t.safeSrc=[],u=t.t={};let f=0;const p="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",i],[p,r]],h=(e,t,n)=>{const r=(e=>{for(const[t,n]of d)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e})(t),i=f++;o(e,i,t),u[e]=i,c[i]=t,l[i]=r,s[i]=new RegExp(t,n?"g":void 0),a[i]=new RegExp(r,n?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),h("MAINVERSION",`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASE",`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${p}+`),h("BUILD",`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),h("FULL",`^${c[u.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),h("LOOSE",`^${c[u.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),h("XRANGE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h("COERCE",`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?`+`(?:${c[u.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",c[u.COERCE],!0),h("COERCERTLFULL",c[u.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${c[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${c[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(pe,pe.exports)),pe.exports}function he(){if(oe)return ie;oe=1;const e=X(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=J(),{safeRe:r,t:i}=de(),o=function(){if(te)return ee;te=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return ee=n=>n?"object"!=typeof n?e:n:t}(),{compareIdentifiers:s}=function(){if(re)return ne;re=1;const e=/^[0-9]+$/,t=(t,n)=>{if("number"==typeof t&&"number"==typeof n)return t===n?0:t<n?-1:1;const r=e.test(t),i=e.test(n);return r&&i&&(t=+t,n=+n),t===n?0:r&&!i?-1:i&&!r?1:t<n?-1:1};return ne={compareIdentifiers:t,rcompareIdentifiers:(e,n)=>t(n,e)}}();class a{constructor(s,c){if(c=o(c),s instanceof a){if(s.loose===!!c.loose&&s.includePrerelease===!!c.includePrerelease)return s;s=s.version}else if("string"!=typeof s)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof s}".`);if(s.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",s,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const l=s.trim().match(c.loose?r[i.LOOSE]:r[i.FULL]);if(!l)throw new TypeError(`Invalid Version: ${s}`);if(this.raw=s,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");l[4]?this.prerelease=l[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<n)return t}return e}):this.prerelease=[],this.build=l[5]?l[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(e("SemVer.compare",this.version,this.options,t),!(t instanceof a)){if("string"==typeof t&&t===this.version)return 0;t=new a(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(e){return e instanceof a||(e=new a(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(t){if(t instanceof a||(t=new a(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{const r=this.prerelease[n],i=t.prerelease[n];if(e("prerelease compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}compareBuild(t){t instanceof a||(t=new a(t,this.options));let n=0;do{const r=this.build[n],i=t.build[n];if(e("build compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}inc(e,t,n){if(e.startsWith("pre")){if(!t&&!1===n)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?r[i.PRERELEASELOOSE]:r[i.PRERELEASE]);if(!e||e[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,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,n),this.inc("pre",t,n);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(n)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(t===this.prerelease.join(".")&&!1===n)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let r=[t,e];if(!1===n&&(r=[t]),((e,t)=>{const n=t.split(".");if(n.length>e.length)return!1;for(let t=0;t<n.length;t++)if(0!==s(e[t],n[t]))return!1;return!0})(this.prerelease,t)){const e=this.prerelease[t.split(".").length];isNaN(e)&&(this.prerelease=r)}else this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return ie=a}function me(){if(ae)return se;ae=1;const e=he();return se=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(e){if(!r)return null;throw e}},se}var ge,ve,ye,Ee,be,we,Le,Ie,Se,Ce,_e=["0BSD","3D-Slicer-1.0","AAL","ADSL","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AFL-3.0","AGPL-1.0-only","AGPL-1.0-or-later","AGPL-3.0-only","AGPL-3.0-or-later","AMD-newlib","AMDPLPA","AML","AML-glslang","AMPAS","ANTLR-PD","ANTLR-PD-fallback","APAFML","APL-1.0","APSL-1.0","APSL-1.1","APSL-1.2","APSL-2.0","ASWF-Digital-Assets-1.0","ASWF-Digital-Assets-1.1","Abstyles","AdaCore-doc","Adobe-2006","Adobe-Display-PostScript","Adobe-Glyph","Adobe-Utopia","Afmparse","Aladdin","Apache-1.0","Apache-1.1","Apache-2.0","App-s2p","Arphic-1999","Artistic-1.0","Artistic-1.0-Perl","Artistic-1.0-cl8","Artistic-2.0","Artistic-dist","Aspell-RU","BSD-1-Clause","BSD-2-Clause","BSD-2-Clause-Darwin","BSD-2-Clause-Patent","BSD-2-Clause-Views","BSD-2-Clause-first-lines","BSD-2-Clause-pkgconf-disclaimer","BSD-3-Clause","BSD-3-Clause-Attribution","BSD-3-Clause-Clear","BSD-3-Clause-HP","BSD-3-Clause-LBNL","BSD-3-Clause-Modification","BSD-3-Clause-No-Military-License","BSD-3-Clause-No-Nuclear-License","BSD-3-Clause-No-Nuclear-License-2014","BSD-3-Clause-No-Nuclear-Warranty","BSD-3-Clause-Open-MPI","BSD-3-Clause-Sun","BSD-3-Clause-acpica","BSD-3-Clause-flex","BSD-4-Clause","BSD-4-Clause-Shortened","BSD-4-Clause-UC","BSD-4.3RENO","BSD-4.3TAHOE","BSD-Advertising-Acknowledgement","BSD-Attribution-HPND-disclaimer","BSD-Inferno-Nettverk","BSD-Protection","BSD-Source-Code","BSD-Source-beginning-file","BSD-Systemics","BSD-Systemics-W3Works","BSL-1.0","BUSL-1.1","Baekmuk","Bahyph","Barr","Beerware","BitTorrent-1.0","BitTorrent-1.1","Bitstream-Charter","Bitstream-Vera","BlueOak-1.0.0","Boehm-GC","Boehm-GC-without-fee","Borceux","Brian-Gladman-2-Clause","Brian-Gladman-3-Clause","C-UDA-1.0","CAL-1.0","CAL-1.0-Combined-Work-Exception","CATOSL-1.1","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-2.5-AU","CC-BY-3.0","CC-BY-3.0-AT","CC-BY-3.0-AU","CC-BY-3.0-DE","CC-BY-3.0-IGO","CC-BY-3.0-NL","CC-BY-3.0-US","CC-BY-4.0","CC-BY-NC-1.0","CC-BY-NC-2.0","CC-BY-NC-2.5","CC-BY-NC-3.0","CC-BY-NC-3.0-DE","CC-BY-NC-4.0","CC-BY-NC-ND-1.0","CC-BY-NC-ND-2.0","CC-BY-NC-ND-2.5","CC-BY-NC-ND-3.0","CC-BY-NC-ND-3.0-DE","CC-BY-NC-ND-3.0-IGO","CC-BY-NC-ND-4.0","CC-BY-NC-SA-1.0","CC-BY-NC-SA-2.0","CC-BY-NC-SA-2.0-DE","CC-BY-NC-SA-2.0-FR","CC-BY-NC-SA-2.0-UK","CC-BY-NC-SA-2.5","CC-BY-NC-SA-3.0","CC-BY-NC-SA-3.0-DE","CC-BY-NC-SA-3.0-IGO","CC-BY-NC-SA-4.0","CC-BY-ND-1.0","CC-BY-ND-2.0","CC-BY-ND-2.5","CC-BY-ND-3.0","CC-BY-ND-3.0-DE","CC-BY-ND-4.0","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.0-UK","CC-BY-SA-2.1-JP","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-3.0-AT","CC-BY-SA-3.0-DE","CC-BY-SA-3.0-IGO","CC-BY-SA-4.0","CC-PDDC","CC-PDM-1.0","CC-SA-1.0","CC0-1.0","CDDL-1.0","CDDL-1.1","CDL-1.0","CDLA-Permissive-1.0","CDLA-Permissive-2.0","CDLA-Sharing-1.0","CECILL-1.0","CECILL-1.1","CECILL-2.0","CECILL-2.1","CECILL-B","CECILL-C","CERN-OHL-1.1","CERN-OHL-1.2","CERN-OHL-P-2.0","CERN-OHL-S-2.0","CERN-OHL-W-2.0","CFITSIO","CMU-Mach","CMU-Mach-nodoc","CNRI-Jython","CNRI-Python","CNRI-Python-GPL-Compatible","COIL-1.0","CPAL-1.0","CPL-1.0","CPOL-1.02","CUA-OPL-1.0","Caldera","Caldera-no-preamble","Catharon","ClArtistic","Clips","Community-Spec-1.0","Condor-1.1","Cornell-Lossless-JPEG","Cronyx","Crossword","CryptoSwift","CrystalStacker","Cube","D-FSL-1.0","DEC-3-Clause","DL-DE-BY-2.0","DL-DE-ZERO-2.0","DOC","DRL-1.0","DRL-1.1","DSDP","DocBook-DTD","DocBook-Schema","DocBook-Stylesheet","DocBook-XML","Dotseqn","ECL-1.0","ECL-2.0","EFL-1.0","EFL-2.0","EPICS","EPL-1.0","EPL-2.0","EUDatagrid","EUPL-1.0","EUPL-1.1","EUPL-1.2","Elastic-2.0","Entessa","ErlPL-1.1","Eurosym","FBM","FDK-AAC","FSFAP","FSFAP-no-warranty-disclaimer","FSFUL","FSFULLR","FSFULLRSD","FSFULLRWD","FSL-1.1-ALv2","FSL-1.1-MIT","FTL","Fair","Ferguson-Twofish","Frameworx-1.0","FreeBSD-DOC","FreeImage","Furuseth","GCR-docs","GD","GFDL-1.1-invariants-only","GFDL-1.1-invariants-or-later","GFDL-1.1-no-invariants-only","GFDL-1.1-no-invariants-or-later","GFDL-1.1-only","GFDL-1.1-or-later","GFDL-1.2-invariants-only","GFDL-1.2-invariants-or-later","GFDL-1.2-no-invariants-only","GFDL-1.2-no-invariants-or-later","GFDL-1.2-only","GFDL-1.2-or-later","GFDL-1.3-invariants-only","GFDL-1.3-invariants-or-later","GFDL-1.3-no-invariants-only","GFDL-1.3-no-invariants-or-later","GFDL-1.3-only","GFDL-1.3-or-later","GL2PS","GLWTPL","GPL-1.0-only","GPL-1.0-or-later","GPL-2.0-only","GPL-2.0-or-later","GPL-3.0-only","GPL-3.0-or-later","Game-Programming-Gems","Giftware","Glide","Glulxe","Graphics-Gems","Gutmann","HDF5","HIDAPI","HP-1986","HP-1989","HPND","HPND-DEC","HPND-Fenneberg-Livingston","HPND-INRIA-IMAG","HPND-Intel","HPND-Kevlin-Henney","HPND-MIT-disclaimer","HPND-Markus-Kuhn","HPND-Netrek","HPND-Pbmplus","HPND-UC","HPND-UC-export-US","HPND-doc","HPND-doc-sell","HPND-export-US","HPND-export-US-acknowledgement","HPND-export-US-modify","HPND-export2-US","HPND-merchantability-variant","HPND-sell-MIT-disclaimer-xserver","HPND-sell-regexpr","HPND-sell-variant","HPND-sell-variant-MIT-disclaimer","HPND-sell-variant-MIT-disclaimer-rev","HTMLTIDY","HaskellReport","Hippocratic-2.1","IBM-pibs","ICU","IEC-Code-Components-EULA","IJG","IJG-short","IPA","IPL-1.0","ISC","ISC-Veillard","ImageMagick","Imlib2","Info-ZIP","Inner-Net-2.0","InnoSetup","Intel","Intel-ACPI","Interbase-1.0","JPL-image","JPNIC","JSON","Jam","JasPer-2.0","Kastrup","Kazlib","Knuth-CTAN","LAL-1.2","LAL-1.3","LGPL-2.0-only","LGPL-2.0-or-later","LGPL-2.1-only","LGPL-2.1-or-later","LGPL-3.0-only","LGPL-3.0-or-later","LGPLLR","LOOP","LPD-document","LPL-1.0","LPL-1.02","LPPL-1.0","LPPL-1.1","LPPL-1.2","LPPL-1.3a","LPPL-1.3c","LZMA-SDK-9.11-to-9.20","LZMA-SDK-9.22","Latex2e","Latex2e-translated-notice","Leptonica","LiLiQ-P-1.1","LiLiQ-R-1.1","LiLiQ-Rplus-1.1","Libpng","Linux-OpenIB","Linux-man-pages-1-para","Linux-man-pages-copyleft","Linux-man-pages-copyleft-2-para","Linux-man-pages-copyleft-var","Lucida-Bitmap-Fonts","MIPS","MIT","MIT-0","MIT-CMU","MIT-Click","MIT-Festival","MIT-Khronos-old","MIT-Modern-Variant","MIT-Wu","MIT-advertising","MIT-enna","MIT-feh","MIT-open-group","MIT-testregex","MITNFA","MMIXware","MPEG-SSG","MPL-1.0","MPL-1.1","MPL-2.0","MPL-2.0-no-copyleft-exception","MS-LPL","MS-PL","MS-RL","MTLL","Mackerras-3-Clause","Mackerras-3-Clause-acknowledgment","MakeIndex","Martin-Birgmeier","McPhee-slideshow","Minpack","MirOS","Motosoto","MulanPSL-1.0","MulanPSL-2.0","Multics","Mup","NAIST-2003","NASA-1.3","NBPL-1.0","NCBI-PD","NCGL-UK-2.0","NCL","NCSA","NGPL","NICTA-1.0","NIST-PD","NIST-PD-fallback","NIST-Software","NLOD-1.0","NLOD-2.0","NLPL","NOSL","NPL-1.0","NPL-1.1","NPOSL-3.0","NRL","NTIA-PD","NTP","NTP-0","Naumen","NetCDF","Newsletr","Nokia","Noweb","O-UDA-1.0","OAR","OCCT-PL","OCLC-2.0","ODC-By-1.0","ODbL-1.0","OFFIS","OFL-1.0","OFL-1.0-RFN","OFL-1.0-no-RFN","OFL-1.1","OFL-1.1-RFN","OFL-1.1-no-RFN","OGC-1.0","OGDL-Taiwan-1.0","OGL-Canada-2.0","OGL-UK-1.0","OGL-UK-2.0","OGL-UK-3.0","OGTSL","OLDAP-1.1","OLDAP-1.2","OLDAP-1.3","OLDAP-1.4","OLDAP-2.0","OLDAP-2.0.1","OLDAP-2.1","OLDAP-2.2","OLDAP-2.2.1","OLDAP-2.2.2","OLDAP-2.3","OLDAP-2.4","OLDAP-2.5","OLDAP-2.6","OLDAP-2.7","OLDAP-2.8","OLFL-1.3","OML","OPL-1.0","OPL-UK-3.0","OPUBL-1.0","OSET-PL-2.1","OSL-1.0","OSL-1.1","OSL-2.0","OSL-2.1","OSL-3.0","OpenPBS-2.3","OpenSSL","OpenSSL-standalone","OpenVision","PADL","PDDL-1.0","PHP-3.0","PHP-3.01","PPL","PSF-2.0","Parity-6.0.0","Parity-7.0.0","Pixar","Plexus","PolyForm-Noncommercial-1.0.0","PolyForm-Small-Business-1.0.0","PostgreSQL","Python-2.0","Python-2.0.1","QPL-1.0","QPL-1.0-INRIA-2004","Qhull","RHeCos-1.1","RPL-1.1","RPL-1.5","RPSL-1.0","RSA-MD","RSCPL","Rdisc","Ruby","Ruby-pty","SAX-PD","SAX-PD-2.0","SCEA","SGI-B-1.0","SGI-B-1.1","SGI-B-2.0","SGI-OpenGL","SGP4","SHL-0.5","SHL-0.51","SISSL","SISSL-1.2","SL","SMAIL-GPL","SMLNJ","SMPPL","SNIA","SOFA","SPL-1.0","SSH-OpenSSH","SSH-short","SSLeay-standalone","SSPL-1.0","SUL-1.0","SWL","Saxpath","SchemeReport","Sendmail","Sendmail-8.23","Sendmail-Open-Source-1.1","SimPL-2.0","Sleepycat","Soundex","Spencer-86","Spencer-94","Spencer-99","SugarCRM-1.1.3","Sun-PPP","Sun-PPP-2000","SunPro","Symlinks","TAPR-OHL-1.0","TCL","TCP-wrappers","TGPPL-1.0","TMate","TORQUE-1.1","TOSL","TPDL","TPL-1.0","TTWL","TTYP0","TU-Berlin-1.0","TU-Berlin-2.0","TermReadKey","ThirdEye","TrustedQSL","UCAR","UCL-1.0","UMich-Merit","UPL-1.0","URT-RLE","Ubuntu-font-1.0","Unicode-3.0","Unicode-DFS-2015","Unicode-DFS-2016","Unicode-TOU","UnixCrypt","Unlicense","Unlicense-libtelnet","Unlicense-libwhirlpool","VOSTROM","VSL-1.0","Vim","W3C","W3C-19980720","W3C-20150513","WTFPL","Watcom-1.0","Widget-Workshop","Wsuipa","X11","X11-distribute-modifications-variant","X11-swapped","XFree86-1.1","XSkat","Xdebug-1.03","Xerox","Xfig","Xnet","YPL-1.0","YPL-1.1","ZPL-1.1","ZPL-2.0","ZPL-2.1","Zed","Zeeff","Zend-2.0","Zimbra-1.3","Zimbra-1.4","Zlib","any-OSI","any-OSI-perl-modules","bcrypt-Solar-Designer","blessing","bzip2-1.0.6","check-cvs","checkmk","copyleft-next-0.3.0","copyleft-next-0.3.1","curl","cve-tou","diffmark","dtoa","dvipdfm","eGenix","etalab-2.0","fwlw","gSOAP-1.3b","generic-xts","gnuplot","gtkbook","hdparm","iMatix","jove","libpng-1.6.35","libpng-2.0","libselinux-1.0","libtiff","libutil-David-Nugent","lsof","magaz","mailprio","man2html","metamail","mpi-permissive","mpich2","mplus","ngrep","pkgconf","pnmstitch","psfrag","psutils","python-ldap","radvd","snprintf","softSurfer","ssh-keyscan","swrule","threeparttable","ulem","w3m","wwl","xinetd","xkeyboard-config-Zinoviev","xlock","xpp","xzoom","zlib-acknowledgement"],De=["AGPL-1.0","AGPL-3.0","BSD-2-Clause-FreeBSD","BSD-2-Clause-NetBSD","GFDL-1.1","GFDL-1.2","GFDL-1.3","GPL-1.0","GPL-2.0","GPL-2.0-with-GCC-exception","GPL-2.0-with-autoconf-exception","GPL-2.0-with-bison-exception","GPL-2.0-with-classpath-exception","GPL-2.0-with-font-exception","GPL-3.0","GPL-3.0-with-GCC-exception","GPL-3.0-with-autoconf-exception","LGPL-2.0","LGPL-2.1","LGPL-3.0","Net-SNMP","Nunit","StandardML-NJ","bzip2-1.0.5","eCos-2.0","wxWindows"],Pe=["389-exception","Asterisk-exception","Autoconf-exception-2.0","Autoconf-exception-3.0","Autoconf-exception-generic","Autoconf-exception-generic-3.0","Autoconf-exception-macro","Bison-exception-1.24","Bison-exception-2.2","Bootloader-exception","Classpath-exception-2.0","CLISP-exception-2.0","cryptsetup-OpenSSL-exception","DigiRule-FOSS-exception","eCos-exception-2.0","Fawkes-Runtime-exception","FLTK-exception","fmt-exception","Font-exception-2.0","freertos-exception-2.0","GCC-exception-2.0","GCC-exception-2.0-note","GCC-exception-3.1","Gmsh-exception","GNAT-exception","GNOME-examples-exception","GNU-compiler-exception","gnu-javamail-exception","GPL-3.0-interface-exception","GPL-3.0-linking-exception","GPL-3.0-linking-source-exception","GPL-CC-1.0","GStreamer-exception-2005","GStreamer-exception-2008","i2p-gpl-java-exception","KiCad-libraries-exception","LGPL-3.0-linking-exception","libpri-OpenH323-exception","Libtool-exception","Linux-syscall-note","LLGPL","LLVM-exception","LZMA-exception","mif-exception","OCaml-LGPL-linking-exception","OCCT-exception-1.0","OpenJDK-assembly-exception-1.0","openvpn-openssl-exception","PS-or-PDF-font-exception-20170817","QPL-1.0-INRIA-2004-exception","Qt-GPL-exception-1.0","Qt-LGPL-exception-1.1","Qwt-exception-1.0","SANE-exception","SHL-2.0","SHL-2.1","stunnel-exception","SWI-exception","Swift-exception","Texinfo-exception","u-boot-exception-2.0","UBDL-exception","Universal-FOSS-exception-1.0","vsftpd-openssl-exception","WxWindows-exception-3.1","x11vnc-openssl-exception"];function Ne(){if(ve)return ge;ve=1;var e=[].concat(_e).concat(De),t=Pe;return ge=function(n){var r=0;function i(){return r<n.length}function o(e){if(e instanceof RegExp){var t=n.slice(r).match(e);if(t)return r+=t[0].length,t[0]}else if(n.indexOf(e,r)===r)return r+=e.length,e}function s(){o(/[ ]*/)}function a(){return o(/[A-Za-z0-9-.]+/)}function c(){var e=a();if(!e)throw new Error("Expected idstring at offset "+r);return e}function l(){return function(){for(var e,t=["WITH","AND","OR","(",")",":","+"],i=0;i<t.length&&!(e=o(t[i]));i++);if("+"===e&&r>1&&" "===n[r-2])throw new Error("Space before `+`");return e&&{type:"OPERATOR",string:e}}()||function(){if(o("DocumentRef-"))return{type:"DOCUMENTREF",string:c()}}()||function(){if(o("LicenseRef-"))return{type:"LICENSEREF",string:c()}}()||(i=r,s=a(),-1!==e.indexOf(s)?{type:"LICENSE",string:s}:-1!==t.indexOf(s)?{type:"EXCEPTION",string:s}:void(r=i));var i,s}for(var u=[];i()&&(s(),i());){var f=l();if(!f)throw new Error("Unexpected `"+n[r]+"` at offset "+r);u.push(f)}return u}}function Oe(){return Ee?ye:(Ee=1,ye=function(e){var t=0;function n(){return t<e.length}function r(){return n()?e[t]:null}function i(){if(!n())throw new Error;t++}function o(e){var t=r();if(t&&"OPERATOR"===t.type&&e===t.string)return i(),t.string}function s(){var e=r();if(e&&"LICENSE"===e.type){i();var t={license:e.string};o("+")&&(t.plus=!0);var n=function(){if(o("WITH")){var e=r();if(e&&"EXCEPTION"===e.type)return i(),e.string;throw new Error("Expected exception after `WITH`")}}();return n&&(t.exception=n),t}}function a(e,t){return function n(){var r=t();if(r){if(!o(e))return r;var i=n();if(!i)throw new Error("Expected expression");return{left:r,conjunction:e.toLowerCase(),right:i}}}}var c=a("AND",function(){return function(){if(o("(")){var e=l();if(!o(")"))throw new Error("Expected `)`");return e}}()||function(){var e=t,n="",s=r();if("DOCUMENTREF"===s.type&&(i(),n+="DocumentRef-"+s.string+":",!o(":")))throw new Error("Expected `:` after `DocumentRef-...`");if("LICENSEREF"===(s=r()).type)return i(),{license:n+="LicenseRef-"+s.string};t=e}()||s()}),l=a("OR",c),u=l();if(!u||n())throw new Error("Syntax error");return u})}function Ae(){if(we)return be;we=1;var e=Ne(),t=Oe();return be=function(n){return t(e(n))}}function Re(){if(Ce)return Se;Ce=1;var e=Ae(),t=function(){if(Ie)return Le;Ie=1;var e=Ae(),t=_e;function n(t){try{return e(t),!0}catch(e){return!1}}function r(e,t){var n=t[0].length-e[0].length;return 0!==n?n:e[0].toUpperCase().localeCompare(t[0].toUpperCase())}var i=[["APGL","AGPL"],["Gpl","GPL"],["GLP","GPL"],["APL","Apache"],["ISD","ISC"],["GLP","GPL"],["IST","ISC"],["Claude","Clause"],[" or later","+"],[" International",""],["GNU","GPL"],["GUN","GPL"],["+",""],["GNU GPL","GPL"],["GNU LGPL","LGPL"],["GNU/GPL","GPL"],["GNU GLP","GPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL"],["GNU Lesser General Public License","LGPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["GNU Lesser General Public License","LGPL-2.1"],["LESSER GENERAL PUBLIC LICENSE","LGPL"],["Lesser General Public License","LGPL"],["LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["Lesser General Public License","LGPL-2.1"],["GNU General Public License","GPL"],["Gnu public license","GPL"],["GNU Public License","GPL"],["GNU GENERAL PUBLIC LICENSE","GPL"],["MTI","MIT"],["Mozilla Public License","MPL"],["Universal Permissive License","UPL"],["WTH","WTF"],["WTFGPL","WTFPL"],["-License",""]].sort(r),o=[function(e){return e.toUpperCase()},function(e){return e.trim()},function(e){return e.replace(/\./g,"")},function(e){return e.replace(/\s+/g,"")},function(e){return e.replace(/\s+/g,"-")},function(e){return e.replace("v","-")},function(e){return e.replace(/,?\s*(\d)/,"-$1")},function(e){return e.replace(/,?\s*(\d)/,"-$1.0")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2.0")},function(e){return e[0].toUpperCase()+e.slice(1)},function(e){return e.replace("/","-")},function(e){return e.replace(/\s*V\s*(\d)/,"-$1").replace(/(\d)$/,"$1.0")},function(e){return-1!==e.indexOf("3.0")?e+"-or-later":e+"-only"},function(e){return e+"only"},function(e){return e.replace(/(\d)$/,"-$1.0")},function(e){return e.replace(/(-| )?(\d)$/,"-$2-Clause")},function(e){return e.replace(/(-| )clause(-| )(\d)/,"-$3-Clause")},function(e){return e.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i,"BSD-3-Clause")},function(e){return e.replace(/\bSimplified(-| )?BSD((-| )License)?/i,"BSD-2-Clause")},function(e){return e.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i,"BSD-2-Clause-$1BSD")},function(e){return e.replace(/\bClear(-| )?BSD((-| )License)?/i,"BSD-3-Clause-Clear")},function(e){return e.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i,"BSD-4-Clause")},function(e){return"CC-"+e},function(e){return"CC-"+e+"-4.0"},function(e){return e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")},function(e){return"CC-"+e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")+"-4.0"}],s=t.map(function(e){var t=/^(.*)-\d+\.\d+$/.exec(e);return t?[t[0],t[1]]:[e,null]}).reduce(function(e,t){var n=t[1];return e[n]=e[n]||[],e[n].push(t[0]),e},{}),a=Object.keys(s).map(function(e){return[e,s[e]]}).filter(function(e){return 1===e[1].length&&null!==e[0]&&"APL"!==e[0]}).map(function(e){return[e[0],e[1][0]]});s=void 0;var c=[["UNLI","Unlicense"],["WTF","WTFPL"],["2 CLAUSE","BSD-2-Clause"],["2-CLAUSE","BSD-2-Clause"],["3 CLAUSE","BSD-3-Clause"],["3-CLAUSE","BSD-3-Clause"],["AFFERO","AGPL-3.0-or-later"],["AGPL","AGPL-3.0-or-later"],["APACHE","Apache-2.0"],["ARTISTIC","Artistic-2.0"],["Affero","AGPL-3.0-or-later"],["BEER","Beerware"],["BOOST","BSL-1.0"],["BSD","BSD-2-Clause"],["CDDL","CDDL-1.1"],["ECLIPSE","EPL-1.0"],["FUCK","WTFPL"],["GNU","GPL-3.0-or-later"],["LGPL","LGPL-3.0-or-later"],["GPLV1","GPL-1.0-only"],["GPL-1","GPL-1.0-only"],["GPLV2","GPL-2.0-only"],["GPL-2","GPL-2.0-only"],["GPL","GPL-3.0-or-later"],["MIT +NO-FALSE-ATTRIBS","MITNFA"],["MIT","MIT"],["MPL","MPL-2.0"],["X11","X11"],["ZLIB","Zlib"]].concat(a).sort(r),l=function(e){for(var t=0;t<o.length;t++){var r=o[t](e).trim();if(r!==e&&n(r))return r}return null},u=function(e){for(var t=e.toUpperCase(),n=0;n<c.length;n++){var r=c[n];if(t.indexOf(r[0])>-1)return r[1]}return null},f=function(e,t){for(var n=0;n<i.length;n++){var r=i[n],o=r[0];if(e.indexOf(o)>-1){var s=t(e.replace(o,r[1]));if(null!==s)return s}}return null};return Le=function(e,t){var r=void 0===(t=t||{}).upgrade||!!t.upgrade;function i(e){return r?function(e){return-1!==["GPL-1.0","LGPL-1.0","AGPL-1.0","GPL-2.0","LGPL-2.0","AGPL-2.0","LGPL-2.1"].indexOf(e)?e+"-only":-1!==["GPL-1.0+","GPL-2.0+","GPL-3.0+","LGPL-2.0+","LGPL-2.1+","LGPL-3.0+","AGPL-1.0+","AGPL-3.0+"].indexOf(e)?e.replace(/\+$/,"-or-later"):-1!==["GPL-3.0","LGPL-3.0","AGPL-3.0"].indexOf(e)?e+"-or-later":e}(e):e}if("string"!=typeof e||0===e.trim().length)throw Error("Invalid argument. Expected non-empty string.");if(n(e=e.trim()))return i(e);var o=e.replace(/\+$/,"").trim();if(n(o))return i(o);var s=l(e);return null!==s||null!==(s=f(e,function(e){return n(e)?e:l(e)}))||null!==(s=u(e))||null!==(s=f(e,u))?i(s):null}}(),n='license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"',r=/^SEE LICEN[CS]E IN (.+)$/;function i(e,t){return t.slice(0,e.length)===e}function o(e){if(e.hasOwnProperty("license")){var t=e.license;return i("LicenseRef",t)||i("DocumentRef",t)}return o(e.left)||o(e.right)}return Se=function(i){var s;try{s=e(i)}catch(e){var a;if("UNLICENSED"===i||"UNLICENCED"===i)return{validForOldPackages:!0,validForNewPackages:!0,unlicensed:!0};if(a=r.exec(i))return{validForOldPackages:!0,validForNewPackages:!0,inFile:a[1]};var c={validForOldPackages:!1,validForNewPackages:!1,warnings:[n]};if(0!==i.trim().length){var l=t(i);l&&c.warnings.push('license is similar to the valid expression "'+l+'"')}return c}return o(s)?{validForNewPackages:!1,validForOldPackages:!1,spdx:!0,warnings:[n]}:{validForNewPackages:!0,validForOldPackages:!0,spdx:!0}}}var $e,Te,xe,Ue,Fe,ke,Be,Me,Ge,je,He,ze={};function qe(){if($e)return ze;$e=1;var e=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),t=e(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.tracing=e.metrics=void 0;var t={hasSubscribers:!1};e.metrics=t,e.tracing=t}),n=e(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultPerf=void 0,e.defaultPerf="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date});Object.defineProperty(ze,"__esModule",{value:!0}),ze.LRUCache=void 0;var r=t(),i=n(),o=()=>r.metrics.hasSubscribers||r.tracing.hasSubscribers,s=new Set,a="object"==typeof process&&process?process:{},c=e=>!!e&&e===Math.floor(e)&&e>0&&isFinite(e),l=e=>c(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(e){super(e),this.fill(0)}},f=class e{heap;length;static#e=!1;static create(t){let n=l(t);if(!n)return[];e.#e=!0;let r=new e(t,n);return e.#e=!1,r}constructor(t,n){if(!e.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new n(t),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},p=class e{#e;#t;#n;#r;#i;#o;#s;#a;get perf(){return this.#a}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;backgroundFetchSize;#c;#l;#u;#f;#p;#d;#h;#m;#g;#v;#y;#E;#b;#w;#L;#I;#S;#C;#_;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#w,autopurgeTimers:e.#L,sizes:e.#E,keyMap:e.#u,keyList:e.#f,valList:e.#p,next:e.#d,prev:e.#h,get head(){return e.#m},get tail(){return e.#g},free:e.#v,isBackgroundFetch:t=>e.#D(t),backgroundFetch:(t,n,r,i)=>e.#P(t,n,r,i),moveToTail:t=>e.#N(t),indexes:t=>e.#O(t),rindexes:t=>e.#A(t),isStale:t=>e.#R(t)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#l}get size(){return this.#c}get fetchMethod(){return this.#o}get memoMethod(){return this.#s}get dispose(){return this.#n}get onInsert(){return this.#r}get disposeAfter(){return this.#i}constructor(t){let{max:n=0,ttl:r,ttlResolution:o=1,ttlAutopurge:u,updateAgeOnGet:p,updateAgeOnHas:d,allowStale:h,dispose:m,onInsert:g,disposeAfter:v,noDisposeOnSet:y,noUpdateTTL:E,maxSize:b=0,maxEntrySize:w=0,sizeCalculation:L,fetchMethod:I,memoMethod:S,noDeleteOnFetchRejection:C,noDeleteOnStaleGet:_,allowStaleOnFetchRejection:D,allowStaleOnFetchAbort:P,ignoreFetchAbort:N,backgroundFetchSize:O=1,perf:A}=t;if(this.backgroundFetchSize=O,void 0!==A&&"function"!=typeof A?.now)throw new TypeError("perf option must have a now() method if specified");if(this.#a=A??i.defaultPerf,0!==n&&!c(n))throw new TypeError("max option must be a nonnegative integer");let R=n?l(n):Array;if(!R)throw new Error("invalid max value: "+n);if(this.#e=n,this.#t=b,this.maxEntrySize=w||this.#t,this.sizeCalculation=L,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw new TypeError("sizeCalculation set to non-function")}if(void 0!==S&&"function"!=typeof S)throw new TypeError("memoMethod must be a function if defined");if(this.#s=S,void 0!==I&&"function"!=typeof I)throw new TypeError("fetchMethod must be a function if specified");if(this.#o=I,this.#S=!!I,this.#u=new Map,this.#f=Array.from({length:n}).fill(void 0),this.#p=Array.from({length:n}).fill(void 0),this.#d=new R(n),this.#h=new R(n),this.#m=0,this.#g=0,this.#v=f.create(n),this.#c=0,this.#l=0,"function"==typeof m&&(this.#n=m),"function"==typeof g&&(this.#r=g),"function"==typeof v?(this.#i=v,this.#y=[]):(this.#i=void 0,this.#y=void 0),this.#I=!!this.#n,this.#_=!!this.#r,this.#C=!!this.#i,this.noDisposeOnSet=!!y,this.noUpdateTTL=!!E,this.noDeleteOnFetchRejection=!!C,this.allowStaleOnFetchRejection=!!D,this.allowStaleOnFetchAbort=!!P,this.ignoreFetchAbort=!!N,0!==this.maxEntrySize){if(0!==this.#t&&!c(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!c(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#$()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!_,this.updateAgeOnGet=!!p,this.updateAgeOnHas=!!d,this.ttlResolution=c(o)||0===o?o:1,this.ttlAutopurge=!!u,this.ttl=r||0,this.ttl){if(!c(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#T()}if(0===this.#e&&0===this.ttl&&0===this.#t)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#e&&!this.#t){let t="LRU_CACHE_UNBOUNDED";(e=>!s.has(e))(t)&&(s.add(t),((e,t,n,r)=>{"function"==typeof a.emitWarning?a.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)})("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",t,e))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#T(){let e=new u(this.#e),t=new u(this.#e);this.#w=e,this.#b=t;let n=this.ttlAutopurge?Array.from({length:this.#e}):void 0;this.#L=n,this.#x=(n,i,o=this.#a.now())=>{t[n]=0!==i?o:0,e[n]=i,r(n,i)},this.#U=n=>{t[n]=0!==e[n]?this.#a.now():0,r(n,e[n])};let r=this.ttlAutopurge?(e,t)=>{if(n?.[e]&&(clearTimeout(n[e]),n[e]=void 0),t&&0!==t&&n){let i=setTimeout(()=>{this.#R(e)?(this.#F(this.#f[e],"expire"),n[e]=void 0):r(e,s(e))},t+1);i.unref&&i.unref(),n[e]=i}}:()=>{};this.#k=(n,r)=>{if(e[r]){let s=e[r],a=t[r];if(!s||!a)return;n.ttl=s,n.start=a,n.now=i||o();let c=n.now-a;n.remainingTTL=s-c}};let i=0,o=()=>{let e=this.#a.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=e=>{let t=this.#u.get(e);return void 0===t?0:s(t)};let s=n=>{let r=e[n],s=t[n];return r&&s?r-((i||o())-s):1/0};this.#R=n=>{let r=t[n],s=e[n];return!!s&&!!r&&(i||o())-r>s}}#U=()=>{};#k=()=>{};#x=()=>{};#R=()=>!1;#$(){let e=new u(this.#e);this.#l=0,this.#E=e,this.#B=t=>{this.#l-=e[t],e[t]=0},this.#M=(e,t,n,r)=>{if(!c(n)){if(this.#D(t))return this.backgroundFetchSize;if(!r)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if("function"!=typeof r)throw new TypeError("sizeCalculation must be a function");if(n=r(t,e),!c(n))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return n},this.#G=(t,n,r)=>{if(e[t]=n,this.#t){let n=this.#t-e[t];for(;this.#l>n;)this.#j(!0)}this.#l+=e[t],r&&(r.entrySize=n,r.totalCalculatedSize=this.#l)}}#B=e=>{};#G=(e,t,n)=>{};#M=(e,t,n,r)=>{if(n||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#O({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#g;this.#H(t)&&((e||!this.#R(t))&&(yield t),t!==this.#m);)t=this.#h[t]}*#A({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#m;this.#H(t)&&((e||!this.#R(t))&&(yield t),t!==this.#g);)t=this.#d[t]}#H(e){return void 0!==e&&this.#u.get(this.#f[e])===e}*entries(){for(let e of this.#O())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*rentries(){for(let e of this.#A())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*keys(){for(let e of this.#O()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*rkeys(){for(let e of this.#A()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*values(){for(let e of this.#O())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}*rvalues(){for(let e of this.#A())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(let n of this.#O()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0!==i&&e(i,this.#f[n],this))return this.#z(this.#f[n],t)}}forEach(e,t=this){for(let n of this.#O()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}rforEach(e,t=this){for(let n of this.#A()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}purgeStale(){let e=!1;for(let t of this.#A({allowStale:!0}))this.#R(t)&&(this.#F(this.#f[t],"expire"),e=!0);return e}info(e){let t=this.#u.get(e);if(void 0===t)return;let n=this.#p[t],r=this.#D(n)?n.__staleWhileFetching:n;if(void 0===r)return;let i={value:r};if(this.#w&&this.#b){let e=this.#w[t],n=this.#b[t];if(e&&n){let t=e-(this.#a.now()-n);i.ttl=t,i.start=Date.now()}}return this.#E&&(i.size=this.#E[t]),i}dump(){let e=[];for(let t of this.#O({allowStale:!0})){let n=this.#f[t],r=this.#p[t],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0===i||void 0===n)continue;let o={value:i};if(this.#w&&this.#b){o.ttl=this.#w[t];let e=this.#a.now()-this.#b[t];o.start=Math.floor(Date.now()-e)}this.#E&&(o.size=this.#E[t]),e.unshift([n,o])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let e=Date.now()-n.start;n.start=this.#a.now()-e}this.#q(t,n.value,n)}}set(e,t,n={}){let{status:i=(r.metrics.hasSubscribers?{}:void 0)}=n;n.status=i,i&&(i.op="set",i.key=e,void 0!==t&&(i.value=t),i.cache=this);let o=this.#q(e,t,n);return i&&r.metrics.hasSubscribers&&r.metrics.publish(i),o}#q(e,t,n,r){let{ttl:i=this.ttl,start:o,noDisposeOnSet:s=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:c}=n,l=this.#D(t);if(void 0===t)return c&&(c.set="deleted"),this.delete(e),this;let{noUpdateTTL:u=this.noUpdateTTL}=n;c&&!l&&(c.value=t);let f=this.#M(e,t,n.size||0,a,c);if(this.maxEntrySize&&f>this.maxEntrySize)return this.#F(e,"set"),c&&(c.set="miss",c.maxEntrySizeExceeded=!0),this;let p=0===this.#c?void 0:this.#u.get(e);if(void 0===p)p=0===this.#c?this.#g:0!==this.#v.length?this.#v.pop():this.#c===this.#e?this.#j(!1):this.#c,this.#f[p]=e,this.#p[p]=t,this.#u.set(e,p),this.#d[this.#g]=p,this.#h[p]=this.#g,this.#g=p,this.#c++,this.#G(p,f,c),c&&(c.set="add"),u=!1,this.#_&&!l&&this.#r?.(t,e,"add");else{this.#N(p);let n=this.#p[p];if(t!==n){if(!s)if(this.#D(n)){n!==r&&n.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:i}=n;void 0!==i&&i!==t&&(this.#I&&this.#n?.(i,e,"set"),this.#C&&this.#y?.push([i,e,"set"]))}else this.#I&&this.#n?.(n,e,"set"),this.#C&&this.#y?.push([n,e,"set"]);if(this.#B(p),this.#G(p,f,c),this.#p[p]=t,!l){let r=n&&this.#D(n)?n.__staleWhileFetching:n,i=void 0===r?"add":t!==r?"replace":"update";c&&(c.set=i,void 0!==r&&(c.oldValue=r)),this.#_&&this.onInsert?.(t,e,i)}}else l||(c&&(c.set="update"),this.#_&&this.onInsert?.(t,e,"update"))}if(0!==i&&!this.#w&&this.#T(),this.#w&&(u||this.#x(p,i,o),c&&this.#k(c,p)),!s&&this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return this}pop(){try{for(;this.#c;){let e=this.#p[this.#m];if(this.#j(!0),this.#D(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(void 0!==e)return e}}finally{if(this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}}#j(e){let t=this.#m,n=this.#f[t],r=this.#p[t],i=this.#D(r);i&&r.__abortController.abort(new Error("evicted"));let o=i?r.__staleWhileFetching:r;return(this.#I||this.#C)&&void 0!==o&&(this.#I&&this.#n?.(o,n,"evict"),this.#C&&this.#y?.push([o,n,"evict"])),this.#B(t),this.#L?.[t]&&(clearTimeout(this.#L[t]),this.#L[t]=void 0),e&&(this.#f[t]=void 0,this.#p[t]=void 0,this.#v.push(t)),1===this.#c?(this.#m=this.#g=0,this.#v.length=0):this.#m=this.#d[t],this.#u.delete(n),this.#c--,t}has(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="has",n.key=e,n.cache=this);let i=this.#V(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),i}#V(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:r}=t,i=this.#u.get(e);if(void 0!==i){let e=this.#p[i];if(this.#D(e)&&void 0===e.__staleWhileFetching)return!1;if(!this.#R(i))return n&&this.#U(i),r&&(r.has="hit",this.#k(r,i)),!0;r&&(r.has="stale",this.#k(r,i))}else r&&(r.has="miss");return!1}peek(e,t={}){let{status:n=(o()?{}:void 0)}=t;n&&(n.op="peek",n.key=e,n.cache=this),t.status=n;let i=this.#W(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),i}#W(e,t){let{status:n,allowStale:r=this.allowStale}=t,i=this.#u.get(e);if(void 0===i||!r&&this.#R(i))return void(n&&(n.peek=void 0===i?"miss":"stale"));let o=this.#p[i],s=this.#D(o)?o.__staleWhileFetching:o;return n&&(void 0!==s?(n.peek="hit",n.value=s):n.peek="miss"),s}#P(e,t,n,r){let i=void 0===t?void 0:this.#p[t];if(this.#D(i))return i;let o=new AbortController,{signal:s}=n;s?.addEventListener("abort",()=>o.abort(s.reason),{signal:o.signal});let a={signal:o.signal,options:n,context:r},c=(r,i=!1)=>{let{aborted:s}=o.signal,c=n.ignoreFetchAbort&&void 0!==r,f=n.ignoreFetchAbort||!(!n.allowStaleOnFetchAbort||void 0===r);if(n.status&&(s&&!i?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,c&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),s&&!c&&!i)return l(o.signal.reason,f);let p=u,d=this.#p[t];return(d===u||void 0===d&&c&&i)&&(void 0===r?void 0!==p.__staleWhileFetching?this.#p[t]=p.__staleWhileFetching:this.#F(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.#q(e,r,a.options,p))),r},l=(r,i)=>{let{aborted:s}=o.signal,a=s&&n.allowStaleOnFetchAbort,c=a||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,f=u;if(this.#p[t]===u&&(!l||!i&&void 0===f.__staleWhileFetching?this.#F(e,"fetch"):a||(this.#p[t]=f.__staleWhileFetching)),c)return n.status&&void 0!==f.__staleWhileFetching&&(n.status.returnedStale=!0),f.__staleWhileFetching;if(f.__returned===f)throw r};n.status&&(n.status.fetchDispatched=!0);let u=new Promise((t,r)=>{let s=this.#o?.(e,i,a);o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>c(e,!0)))}),s&&s instanceof Promise?s.then(e=>t(void 0===e?void 0:e),r):void 0!==s&&t(s)}).then(c,e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),l(e,!1))),f=Object.assign(u,{__abortController:o,__staleWhileFetching:i,__returned:void 0});return void 0===t?(this.#q(e,f,{...a.options,status:void 0}),t=this.#u.get(e)):this.#p[t]=f,f}#D(e){if(!this.#S)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof AbortController}fetch(e,t={}){let n=r.tracing.hasSubscribers,{status:i=(o()?{}:void 0)}=t;t.status=i,i&&t.context&&(i.context=t.context);let s=this.#Z(e,t);return i&&n&&(i.trace=!0,r.tracing.tracePromise(()=>s,i).catch(()=>{})),s}async#Z(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:s=this.noDisposeOnSet,size:a=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:l=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:f=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:d=this.allowStaleOnFetchAbort,context:h,forceRefresh:m=!1,status:g,signal:v}=t;if(g&&(g.op="fetch",g.key=e,m&&(g.forceRefresh=!0),g.cache=this),!this.#S)return g&&(g.fetch="get"),this.#z(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:g});let y={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:o,noDisposeOnSet:s,size:a,sizeCalculation:c,noUpdateTTL:l,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:f,allowStaleOnFetchAbort:d,ignoreFetchAbort:p,status:g,signal:v},E=this.#u.get(e);if(void 0===E){g&&(g.fetch="miss");let t=this.#P(e,E,y,h);return t.__returned=t}{let t=this.#p[E];if(this.#D(t)){let e=n&&void 0!==t.__staleWhileFetching;return g&&(g.fetch="inflight",e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let i=this.#R(E);if(!m&&!i)return g&&(g.fetch="hit"),this.#N(E),r&&this.#U(E),g&&this.#k(g,E),t;let o=this.#P(e,E,y,h),s=void 0!==o.__staleWhileFetching&&n;return g&&(g.fetch=i?"stale":"refresh",s&&i&&(g.returnedStale=!0)),s?o.__staleWhileFetching:o.__returned=o}}forceFetch(e,t={}){let n=r.tracing.hasSubscribers,{status:i=(o()?{}:void 0)}=t;t.status=i,i&&t.context&&(i.context=t.context);let s=this.#K(e,t);return i&&n&&(i.trace=!0,r.tracing.tracePromise(()=>s,i).catch(()=>{})),s}async#K(e,t={}){let n=await this.#Z(e,t);if(void 0===n)throw new Error("fetch() returned undefined");return n}memo(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="memo",n.key=e,t.context&&(n.context=t.context),n.cache=this);let i=this.#Y(e,t);return n&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n),i}#Y(e,t={}){let n=this.#s;if(!n)throw new Error("no memoMethod provided to constructor");let{context:r,status:i,forceRefresh:o,...s}=t;i&&o&&(i.forceRefresh=!0);let a=this.#z(e,s),c=o||void 0===a;if(i&&(i.memo=c?"miss":"hit",c||(i.value=a)),!c)return a;let l=n(e,a,{options:s,context:r});return i&&(i.value=l),this.#q(e,l,s),l}get(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="get",n.key=e,n.cache=this);let i=this.#z(e,t);return n&&(void 0!==i&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n)),i}#z(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:o}=t,s=this.#u.get(e);if(void 0===s)return void(o&&(o.get="miss"));let a=this.#p[s],c=this.#D(a);return o&&this.#k(o,s),this.#R(s)?c?(o&&(o.get="stale-fetching"),n&&void 0!==a.__staleWhileFetching?(o&&(o.returnedStale=!0),a.__staleWhileFetching):void 0):(i||this.#F(e,"expire"),o&&(o.get="stale"),n?(o&&(o.returnedStale=!0),a):void 0):(o&&(o.get=c?"fetching":"hit"),this.#N(s),r&&this.#U(s),c?a.__staleWhileFetching:a)}#X(e,t){this.#h[t]=e,this.#d[e]=t}#N(e){e!==this.#g&&(e===this.#m?this.#m=this.#d[e]:this.#X(this.#h[e],this.#d[e]),this.#X(this.#g,e),this.#g=e)}delete(e){return this.#F(e,"delete")}#F(e,t){r.metrics.hasSubscribers&&r.metrics.publish({op:"delete",delete:t,key:e,cache:this});let n=!1;if(0!==this.#c){let r=this.#u.get(e);if(void 0!==r)if(this.#L?.[r]&&(clearTimeout(this.#L[r]),this.#L[r]=void 0),n=!0,1===this.#c)this.#J(t);else{this.#B(r);let n=this.#p[r];if(this.#D(n)?n.__abortController.abort(new Error("deleted")):(this.#I||this.#C)&&(this.#I&&this.#n?.(n,e,t),this.#C&&this.#y?.push([n,e,t])),this.#u.delete(e),this.#f[r]=void 0,this.#p[r]=void 0,r===this.#g)this.#g=this.#h[r];else if(r===this.#m)this.#m=this.#d[r];else{let e=this.#h[r];this.#d[e]=this.#d[r];let t=this.#d[r];this.#h[t]=this.#h[r]}this.#c--,this.#v.push(r)}}if(this.#C&&this.#y?.length){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return n}clear(){return this.#J("delete")}#J(e){for(let t of this.#A({allowStale:!0})){let n=this.#p[t];if(this.#D(n))n.__abortController.abort(new Error("deleted"));else{let r=this.#f[t];this.#I&&this.#n?.(n,r,e),this.#C&&this.#y?.push([n,r,e])}}if(this.#u.clear(),this.#p.fill(void 0),this.#f.fill(void 0),this.#w&&this.#b){this.#w.fill(0),this.#b.fill(0);for(let e of this.#L??[])void 0!==e&&clearTimeout(e);this.#L?.fill(void 0)}if(this.#E&&this.#E.fill(0),this.#m=0,this.#g=0,this.#v.length=0,this.#l=0,this.#c=0,this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}};return ze.LRUCache=p,ze}function Ve(){if(Fe)return Ue;Fe=1;const e=(e,t,n)=>{const r=e.indexOf(n);return e.lastIndexOf(t,r>-1?r:1/0)},t=e=>{try{return new URL(e)}catch{}};return Ue=(n,r)=>{const i=r?((e,t)=>{const n=e.indexOf(":"),r=e.slice(0,n+1);if(Object.prototype.hasOwnProperty.call(t,r))return e;if("://"===e.substr(n,3))return e;const i=e.indexOf("@");return i>-1?i>n?`git+ssh://${e}`:e:`${e.slice(0,n+1)}//${e.slice(n+1)}`})(n,r):n;return t(i)||t((t=>{const n=e(t,"@","#"),r=e(t,":","#");return r>n&&(t=t.slice(0,r)+"/"+t.slice(r+1)),-1===e(t,":","#")&&-1===t.indexOf("//")&&(t=`git+ssh://${t}`),t})(i))}}function We(){if(Be)return ke;Be=1;const e=Ve();return ke=(t,n,{gitHosts:r,protocols:i})=>{if(!t)return;const o=(e=>{const t=e.indexOf("#"),n=e.indexOf("/"),r=e.indexOf("/",n+1),i=e.indexOf(":"),o=/\s/.exec(e),s=e.indexOf("@"),a=!o||t>-1&&o.index>t,c=-1===s||t>-1&&s>t,l=-1===i||t>-1&&i>t,u=-1===r||t>-1&&r>t,f=n>0,p=t>-1?"/"!==e[t-1]:!e.endsWith("/"),d=!e.startsWith(".");return a&&f&&p&&d&&c&&l&&u})(t)?`github:${t}`:t,s=e(o,i);if(!s)return;const a=r.byShortcut[s.protocol],c=r.byDomain[s.hostname.startsWith("www.")?s.hostname.slice(4):s.hostname],l=a||c;if(!l)return;const u=r[a||c];let f=null;i[s.protocol]?.auth&&(s.username||s.password)&&(f=`${s.username}${s.password?":"+s.password:""}`);let p=null,d=null,h=null,m=null;try{if(a){let e=s.pathname.startsWith("/")?s.pathname.slice(1):s.pathname;const t=e.indexOf("@");t>-1&&(e=e.slice(t+1));const n=e.lastIndexOf("/");n>-1?(d=decodeURIComponent(e.slice(0,n)),d||(d=null),h=decodeURIComponent(e.slice(n+1))):h=decodeURIComponent(e),h.endsWith(".git")&&(h=h.slice(0,-4)),s.hash&&(p=decodeURIComponent(s.hash.slice(1))),m="shortcut"}else{if(!u.protocols.includes(s.protocol))return;const e=u.extract(s);if(!e)return;d=e.user&&decodeURIComponent(e.user),h=decodeURIComponent(e.project),p=decodeURIComponent(e.committish),m=i[s.protocol]?.name||s.protocol.slice(0,-1)}}catch(e){if(e instanceof URIError)return;throw e}return[l,d,f,h,p,m,n]}}function Ze(){if(Ge)return Me;Ge=1;const{LRUCache:e}=qe(),t=function(){if(xe)return Te;xe=1;const e=(...e)=>e.every(e=>e)?e.join(""):"",t=e=>e?encodeURIComponent(e):"",n=e=>e.toLowerCase().replace(/^\W+/g,"").replace(/(?<!\W)\W+$/,"").replace(/\//g,"").replace(/\W+/g,"-"),r={sshtemplate:({domain:t,user:n,project:r,committish:i})=>`git@${t}:${n}/${r}.git${e("#",i)}`,sshurltemplate:({domain:t,user:n,project:r,committish:i})=>`git+ssh://git@${t}/${n}/${r}.git${e("#",i)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s,path:a})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a)}`,browsetemplate:({domain:n,user:r,project:i,committish:o,treepath:s})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o))}`,browsetreetemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,browseblobtemplate:({domain:n,user:r,project:i,committish:o,blobpath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,docstemplate:({domain:n,user:r,project:i,treepath:o,committish:s})=>`https://${n}/${r}/${i}${e("/",o,"/",t(s))}#readme`,httpstemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git+https://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/raw/${t(i||"HEAD")}/${o}`,shortcuttemplate:({type:t,user:n,project:r,committish:i})=>`${t}:${n}/${r}${e("#",i)}`,pathtemplate:({user:t,project:n,committish:r})=>`${t}/${n}${e("#",r)}`,bugstemplate:({domain:e,user:t,project:n})=>`https://${e}/${t}/${n}/issues`,hashformat:n},i={};i.github={protocols:["git:","http:","git+ssh:","git+https:","ssh:","https:"],domain:"github.com",treepath:"tree",blobpath:"blob",editpath:"edit",filetemplate:({auth:n,user:r,project:i,committish:o,path:s})=>`https://${e(n,"@")}raw.githubusercontent.com/${r}/${i}/${t(o||"HEAD")}/${s}`,gittemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://codeload.${e}/${n}/${r}/tar.gz/${t(i||"HEAD")}`,extract:e=>{let[,t,n,r,i]=e.pathname.split("/",5);if((!r||"tree"===r)&&(r||(i=e.hash.slice(1)),n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:i}}},i.bitbucket={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"bitbucket.org",treepath:"src",blobpath:"src",editpath:"?mode=edit",edittemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,editpath:c})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a,c)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/get/${t(i||"HEAD")}.tar.gz`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["get"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}},i.gitlab={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"gitlab.com",treepath:"tree",blobpath:"tree",editpath:"-/edit",tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/api/v4/projects/${t(n+"/"+r)}/repository/archive.tar.gz?sha=${t(i||"HEAD")}`,extract:e=>{const t=e.pathname.slice(1);if(t.includes("/-/")||t.includes("/archive.tar.gz"))return;const n=t.split("/");let r=n.pop();r.endsWith(".git")&&(r=r.slice(0,-4));const i=n.join("/");return i&&r?{user:i,project:r,committish:e.hash.slice(1)}:void 0}},i.gist={protocols:["git:","git+ssh:","git+https:","ssh:","https:"],domain:"gist.github.com",editpath:"edit",sshtemplate:({domain:t,project:n,committish:r})=>`git@${t}:${n}.git${e("#",r)}`,sshurltemplate:({domain:t,project:n,committish:r})=>`git+ssh://git@${t}/${n}.git${e("#",r)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s})=>`https://${n}/${r}/${i}${e("/",t(o))}/${s}`,browsetemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,browsetreetemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,browseblobtemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,docstemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,httpstemplate:({domain:t,project:n,committish:r})=>`git+https://${t}/${n}.git${e("#",r)}`,filetemplate:({user:n,project:r,committish:i,path:o})=>`https://gist.githubusercontent.com/${n}/${r}/raw${e("/",t(i))}/${o}`,shortcuttemplate:({type:t,project:n,committish:r})=>`${t}:${n}${e("#",r)}`,pathtemplate:({project:t,committish:n})=>`${t}${e("#",n)}`,bugstemplate:({domain:e,project:t})=>`https://${e}/${t}`,gittemplate:({domain:t,project:n,committish:r})=>`git://${t}/${n}.git${e("#",r)}`,tarballtemplate:({project:e,committish:n})=>`https://codeload.github.com/gist/${e}/tar.gz/${t(n||"HEAD")}`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if("raw"!==r){if(!n){if(!t)return;n=t,t=null}return n.endsWith(".git")&&(n=n.slice(0,-4)),{user:t,project:n,committish:e.hash.slice(1)}}},hashformat:function(e){return e&&"file-"+n(e)}},i.sourcehut={protocols:["git+ssh:","https:"],domain:"git.sr.ht",treepath:"tree",blobpath:"tree",filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/blob/${t(i)||"HEAD"}/${o}`,httpstemplate:({domain:t,user:n,project:r,committish:i})=>`https://${t}/${n}/${r}${e("#",i)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/archive/${t(i)||"HEAD"}.tar.gz`,bugstemplate:()=>null,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["archive"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}};for(const[e,t]of Object.entries(i))i[e]=Object.assign({},r,t);return Te=i}(),n=We(),r=Ve(),i=new e({max:1e3});class o{constructor(e,t,n,r,i,s,a={}){Object.assign(this,o.#Q[e],{type:e,user:t,auth:n,project:r,committish:i,default:s,opts:a})}static#Q={byShortcut:{},byDomain:{}};static#ee={"git+ssh:":{name:"sshurl"},"ssh:":{name:"sshurl"},"git+https:":{name:"https",auth:!0},"git:":{auth:!0},"http:":{auth:!0},"https:":{auth:!0},"git+http:":{auth:!0}};static addHost(e,t){o.#Q[e]=t,o.#Q.byDomain[t.domain]=e,o.#Q.byShortcut[`${e}:`]=e,o.#ee[`${e}:`]={name:e}}static fromUrl(e,t){if("string"!=typeof e)return;const r=e+JSON.stringify(t||{});if(!i.has(r)){const s=n(e,t,{gitHosts:o.#Q,protocols:o.#ee});i.set(r,s?new o(...s):void 0)}return i.get(r)}static fromManifest(e,t={}){if(!e||"object"!=typeof e)return;const n=e.repository,r=n&&("string"==typeof n?n:"object"==typeof n&&"string"==typeof n.url?n.url:null);if(!r)throw new Error("no repository");const i=r&&o.fromUrl(r.replace(/^git\+/,""),t)||null;if(i)return i;const s=function(e){try{const{protocol:t,hostname:n,pathname:r}=new URL(e);if(!n)return null;return`${/(?:git\+)http:$/.test(t)?"http:":"https:"}//${n}${r.replace(/\.git$/,"")}`}catch{return null}}(r);return o.fromUrl(s,t)||s}static parseUrl(e){return r(e)}#te(e,t){if("function"!=typeof e)return null;const n={...this,...this.opts,...t};n.path||(n.path=""),n.path.startsWith("/")&&(n.path=n.path.slice(1)),n.noCommittish&&(n.committish=null);const r=e(n);return n.noGitPlus&&r.startsWith("git+")?r.slice(4):r}hash(){return this.committish?`#${this.committish}`:""}ssh(e){return this.#te(this.sshtemplate,e)}sshurl(e){return this.#te(this.sshurltemplate,e)}browse(e,...t){return"string"!=typeof e?this.#te(this.browsetemplate,e):"string"!=typeof t[0]?this.#te(this.browsetreetemplate,{...t[0],path:e}):this.#te(this.browsetreetemplate,{...t[1],fragment:t[0],path:e})}browseFile(e,...t){return"string"!=typeof t[0]?this.#te(this.browseblobtemplate,{...t[0],path:e}):this.#te(this.browseblobtemplate,{...t[1],fragment:t[0],path:e})}docs(e){return this.#te(this.docstemplate,e)}bugs(e){return this.#te(this.bugstemplate,e)}https(e){return this.#te(this.httpstemplate,e)}git(e){return this.#te(this.gittemplate,e)}shortcut(e){return this.#te(this.shortcuttemplate,e)}path(e){return this.#te(this.pathtemplate,e)}tarball(e){return this.#te(this.tarballtemplate,{...e,noCommittish:!1})}file(e,t){return this.#te(this.filetemplate,{...t,path:e})}edit(e,t){return this.#te(this.edittemplate,{...t,path:e})}getDefaultRepresentation(){return this.default}toString(e){return this.default&&"function"==typeof this[this.default]?this[this.default](e):this.sshurl(e)}}for(const[e,n]of Object.entries(t))o.addHost(e,n);return Me=o}var Ke,Ye,Xe={topLevel:{dependancies:"dependencies",dependecies:"dependencies",depdenencies:"dependencies",devEependencies:"devDependencies",depends:"dependencies","dev-dependencies":"devDependencies",devDependences:"devDependencies",devDepenencies:"devDependencies",devdependencies:"devDependencies",repostitory:"repository",repo:"repository",prefereGlobal:"preferGlobal",hompage:"homepage",hampage:"homepage",autohr:"author",autor:"author",contributers:"contributors",publicationConfig:"publishConfig",script:"scripts"},bugs:{web:"url",name:"url"},script:{server:"start",tests:"test"}};function Je(){if(Ye)return Ke;Ye=1;var{URL:e}=p,t=function(){if(le)return ce;le=1;const e=me();return ce=(t,n)=>{const r=e(t,n);return r?r.version:null},ce}(),n=function(){if(fe)return ue;fe=1;const e=me();return ue=(t,n)=>{const r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},ue}(),r=Re(),i=Ze(),{isBuiltin:o}=h,s=["dependencies","devDependencies","optionalDependencies"],a=He?je:(He=1,je=function(e){if(!e)return;if("ERROR: No README data found!"===e)return;e=e.trim().split("\n");let t=0;for(;e[t]&&e[t].trim().match(/^(#|$)/);)t++;const n=e.length;let r=t+1;for(;r<n&&e[r].trim();)r++;return e.slice(t,r).join(" ").trim()}),c=Xe,l=e=>e.includes("@")&&e.indexOf("@")<e.lastIndexOf(".");function u(e,t){return e.author&&(e.author=t(e.author)),["maintainers","contributors"].forEach(function(n){Array.isArray(e[n])&&(e[n]=e[n].map(t))}),e}function f(e){if("string"==typeof e)return e;var t=e.name||"",n=e.url||e.web,r=n?" ("+n+")":"",i=e.email||e.mail;return t+(i?" <"+i+">":"")+r}function d(e){if("string"!=typeof e)return e;var t=e.match(/^([^(<]+)/),n=e.match(/\(([^()]+)\)/),r=e.match(/<([^<>]+)>/),i={};return t&&t[0].trim()&&(i.name=t[0].trim()),r&&(i.email=r[1]),n&&(i.url=n[1]),i}return Ke={warn:function(){},fixRepositoryField:function(e){if(e.repositories&&(this.warn("repositories"),e.repository=e.repositories[0]),!e.repository)return this.warn("missingRepository");"string"==typeof e.repository&&(e.repository={type:"git",url:e.repository});var t=e.repository.url||"";if(t){var n=i.fromUrl(t);n&&(t=e.repository.url="shortcut"===n.getDefaultRepresentation()?n.https():n.toString())}t.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)&&this.warn("brokenGitUrl",t)},fixTypos:function(e){Object.keys(c.topLevel).forEach(function(t){Object.prototype.hasOwnProperty.call(e,t)&&this.warn("typo",t,c.topLevel[t])},this)},fixScriptsField:function(e){if(e.scripts)return"object"!=typeof e.scripts?(this.warn("nonObjectScripts"),void delete e.scripts):void Object.keys(e.scripts).forEach(function(t){"string"!=typeof e.scripts[t]?(this.warn("nonStringScript"),delete e.scripts[t]):c.script[t]&&!e.scripts[c.script[t]]&&this.warn("typo",t,c.script[t],"scripts")},this)},fixFilesField:function(e){var t=e.files;t&&!Array.isArray(t)?(this.warn("nonArrayFiles"),delete e.files):e.files&&(e.files=e.files.filter(function(e){return!(!e||"string"!=typeof e)||(this.warn("invalidFilename",e),!1)},this))},fixBinField:function(e){if(e.bin&&"string"==typeof e.bin){var t,n={};(t=e.name.match(/^@[^/]+[/](.*)$/))?n[t[1]]=e.bin:n[e.name]=e.bin,e.bin=n}},fixManField:function(e){e.man&&"string"==typeof e.man&&(e.man=[e.man])},fixBundleDependenciesField:function(e){var t="bundledDependencies",n="bundleDependencies";e[t]&&!e[n]&&(e[n]=e[t],delete e[t]),e[n]&&!Array.isArray(e[n])?(this.warn("nonArrayBundleDependencies"),delete e[n]):e[n]&&(e[n]=e[n].filter(function(t){return t&&"string"==typeof t?(e.dependencies||(e.dependencies={}),Object.prototype.hasOwnProperty.call(e.dependencies,t)||(this.warn("nonDependencyBundleDependency",t),e.dependencies[t]="*"),!0):(this.warn("nonStringBundleDependency",t),!1)},this))},fixDependencies:function(e){!function(e,t){s.forEach(function(n){e[n]&&(e[n]=function(e,t,n){if(!e)return{};"string"==typeof e&&(e=e.trim().split(/[\n\r\s\t ,]+/));if(!Array.isArray(e))return e;n("deprecatedArrayDependencies",t);var r={};return e.filter(function(e){return"string"==typeof e}).forEach(function(e){var t=(e=e.trim().split(/(:?[@\s><=])/)).shift(),n=e.join("");n=(n=n.trim()).replace(/^@/,""),r[t]=n}),r}(e[n],n,t))})}(e,this.warn),function(e){var t=e.optionalDependencies;if(!t)return;var n=e.dependencies||{};Object.keys(t).forEach(function(e){n[e]=t[e]}),e.dependencies=n}(e,this.warn),this.fixBundleDependenciesField(e),["dependencies","devDependencies"].forEach(function(t){if(t in e)return e[t]&&"object"==typeof e[t]?void Object.keys(e[t]).forEach(function(n){var r=e[t][n];"string"!=typeof r&&(this.warn("nonStringDependency",n,JSON.stringify(r)),delete e[t][n]);var o=i.fromUrl(e[t][n]);o&&(e[t][n]=o.toString())},this):(this.warn("nonObjectDependencies",t),void delete e[t])},this)},fixModulesField:function(e){e.modules&&(this.warn("deprecatedModules"),delete e.modules)},fixKeywordsField:function(e){"string"==typeof e.keywords&&(e.keywords=e.keywords.split(/,\s+/)),e.keywords&&!Array.isArray(e.keywords)?(delete e.keywords,this.warn("nonArrayKeywords")):e.keywords&&(e.keywords=e.keywords.filter(function(e){return!("string"!=typeof e||!e)||(this.warn("nonStringKeyword"),!1)},this))},fixVersionField:function(e,r){var i=!r;if(!e.version)return e.version="",!0;if(!t(e.version,i))throw new Error('Invalid version: "'+e.version+'"');return e.version=n(e.version,i),!0},fixPeople:function(e){u(e,f),u(e,d)},fixNameField:function(e,t){"boolean"==typeof t?t={strict:t}:void 0===t&&(t={});var n=t.strict;if(e.name||n){if("string"!=typeof e.name)throw new Error("name field must be a string.");n||(e.name=e.name.trim()),function(e,t,n){if("."===e.charAt(0)||!function(e){if("@"!==e.charAt(0))return!1;var t=e.slice(1).split("/");if(2!==t.length)return!1;return t[0]&&t[1]&&t[0]===encodeURIComponent(t[0])&&t[1]===encodeURIComponent(t[1])}(e)&&(r=e,r.match(/[/@\s+%:]/)||r!==encodeURIComponent(r))||t&&!n&&e!==e.toLowerCase()||"node_modules"===e.toLowerCase()||"favicon.ico"===e.toLowerCase())throw new Error("Invalid name: "+JSON.stringify(e));var r}(e.name,n,t.allowLegacyCase),o(e.name)&&this.warn("conflictingName",e.name)}else e.name=""},fixDescriptionField:function(e){e.description&&"string"!=typeof e.description&&(this.warn("nonStringDescription"),delete e.description),e.readme&&!e.description&&(e.description=a(e.readme)),void 0===e.description&&delete e.description,e.description||this.warn("missingDescription")},fixReadmeField:function(e){e.readme||(this.warn("missingReadme"),e.readme="ERROR: No README data found!")},fixBugsField:function(t){if(!t.bugs&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.bugs()&&(t.bugs={url:n.bugs()})}else if(t.bugs){if("string"==typeof t.bugs)l(t.bugs)?t.bugs={email:t.bugs}:e.canParse(t.bugs)?t.bugs={url:t.bugs}:this.warn("nonEmailUrlBugsString");else{!function(e,t){if(!e)return;Object.keys(e).forEach(function(n){c.bugs[n]&&(t("typo",n,c.bugs[n],"bugs"),e[c.bugs[n]]=e[n],delete e[n])})}(t.bugs,this.warn);var r=t.bugs;t.bugs={},r.url&&(e.canParse(r.url)?t.bugs.url=r.url:this.warn("nonUrlBugsUrlField")),r.email&&("string"==typeof r.email&&l(r.email)?t.bugs.email=r.email:this.warn("nonEmailBugsEmailField"))}t.bugs.email||t.bugs.url||(delete t.bugs,this.warn("emptyNormalizedBugs"))}},fixHomepageField:function(t){if(!t.homepage&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.docs()&&(t.homepage=n.docs())}if(t.homepage)return"string"!=typeof t.homepage?(this.warn("nonUrlHomepage"),delete t.homepage):void(e.canParse(t.homepage)||(t.homepage="http://"+t.homepage))},fixLicenseField:function(e){const t=e.license||e.licence;return t?"string"!=typeof t||t.length<1||""===t.trim()?this.warn("invalidLicense"):r(t).validForNewPackages?void 0:this.warn("invalidLicense"):this.warn("missingLicense")}},Ke}var Qe,et,tt,nt,rt={repositories:"'repositories' (plural) Not supported. Please pick one as the 'repository' field",missingRepository:"No repository field.",brokenGitUrl:"Probably broken git url: %s",nonObjectScripts:"scripts must be an object",nonStringScript:"script values must be string commands",nonArrayFiles:"Invalid 'files' member",invalidFilename:"Invalid filename in 'files' list: %s",nonArrayBundleDependencies:"Invalid 'bundleDependencies' list. Must be array of package names",nonStringBundleDependency:"Invalid bundleDependencies member: %s",nonDependencyBundleDependency:"Non-dependency in bundleDependencies: %s",nonObjectDependencies:"%s field must be an object",nonStringDependency:"Invalid dependency: %s %s",deprecatedArrayDependencies:"specifying %s as array is deprecated",deprecatedModules:"modules field is deprecated",nonArrayKeywords:"keywords should be an array of strings",nonStringKeyword:"keywords should be an array of strings",conflictingName:"%s is also the name of a node core module.",nonStringDescription:"'description' field should be a string",missingDescription:"No description",missingReadme:"No README data",missingLicense:"No license field.",nonEmailUrlBugsString:"Bug string field must be url, email, or {email,url}",nonUrlBugsUrlField:"bugs.url field must be a string url. Deleted.",nonEmailBugsEmailField:"bugs.email field must be a string email. Deleted.",emptyNormalizedBugs:"Normalized value of bugs field is an empty object. Deleted.",nonUrlHomepage:"homepage field must be a string url. Deleted.",invalidLicense:"license should be a valid SPDX license expression",typo:"%s should probably be %s."};function it(){if(et)return Qe;et=1;var e=m,t=rt;function n(n,r,i){return i&&(n=i+"['"+n+"']",r=i+"['"+r+"']"),e.format(t.typo,n,r)}return Qe=function(){var r=Array.prototype.slice.call(arguments,0),i=r.shift();if("typo"===i)return n.apply(null,r);var o=t[i]?t[i]:i+": '%s'";return r.unshift(o),e.format.apply(null,r)},Qe}var ot=function(){if(nt)return tt;nt=1,tt=r;var e=Je();r.fixer=e;var t=it(),n=["name","version","description","repository","modules","scripts","files","bin","man","bugs","keywords","readme","homepage","license"].map(function(e){return i(e)+"Field"});function r(r,o,s){!0===o&&(o=null,s=!0),s||(s=!1),o&&!r.private||(o=function(){}),r.scripts&&"node-gyp rebuild"===r.scripts.install&&!r.scripts.preinstall&&(r.gypfile=!0),e.warn=function(){o(t.apply(null,arguments))},n.forEach(function(t){e["fix"+i(t)](r,s)}),r._id=r.name+"@"+r.version}function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}return n=n.concat(["dependencies","people","typos"]),tt}(),st=V(ot);const at=(e,t)=>{try{return g(e,v.F_OK),!0}catch(e){return!1}},ct=["index.ts","index.tsx","main.ts","main.tsx"],lt=(e,t,n)=>{const r=a(e??process.cwd(),"src"),i=ct,o=i.map(e=>a(r,e)).find(e=>at(e));if(!o)throw new Error(`Unable to resolve entry point, ensure ${i.join(", ")} exists in ${r}`);return o},ut=(e,t)=>C(e,t,{arrayMerge:(e,t)=>{const n=t[0]??e[0];return"object"==typeof n&&"match"in n&&"middleware"in n?((e,t,n)=>{const r=n.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),i={...t.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),...r};return Object.values(i)})("match",e,t):[...new Set([...e,...t])]}}),ft=async(n,r)=>{const{packageJson:i,root:a}=r,{config:u}=await e(n)??{},f=i.main??i.module??"./dist/bundle.js",p=lt(a);if("build"===n.command){if(s(f)===a)throw new Error("outDir cannot be root, please specify package.main or package.module in package.json");if("src"===s(f))throw new Error("outDir cannot be src, please specify package.main or package.module in package.json");if(s(f)===process.cwd())throw new Error("outDir cannot be the current working directory, please specify package.main or package.module in package.json")}return t({root:a,plugins:[o(),_({debug:!0}),D({extensions:[".md"]})],define:{"process.env.NODE_ENV":JSON.stringify(n.mode),"process.env.NODE_DEBUG":"production"!==n.mode,"process.env.FUSION_LOG_LEVEL":"production"===n.mode?1:3},build:{outDir:s(f),lib:{entry:p,fileName:c(f,l(f)),formats:["es"]},emptyOutDir:!0}},u??{})};function pt(e,t){P("object"==typeof e,new Error(t))}const dt=e=>{if(e.repository)return"string"==typeof e.repository?e.repository:e.repository.url},ht=()=>{try{return N("git remote get-url origin").toString().trim().replace("git@github.com:","https://github.com/").replace(/\.git$/,"")}catch(e){return}},mt=(e="HEAD")=>{try{return N(`git rev-parse ${e}`).toString().trim()}catch(e){return}},gt=()=>{try{return N("git branch --show-current").toString().trim()||void 0}catch{return}},vt="15.7.0",yt=e=>{if(e?.startsWith("refs/heads/"))return e.slice(11)||void 0},Et=()=>{const e={cliVersion:vt,source:"local",reason:"manual"};if("true"===process.env.GITHUB_ACTIONS){const t=(()=>{const e=process.env.GITHUB_EVENT_NAME||"unknown",t=process.env.GITHUB_ACTOR||"unknown",n=process.env.GITHUB_RUN_ID||"unknown",r=process.env.GITHUB_REPOSITORY||"unknown",i=process.env.GITHUB_WORKFLOW||"unknown",o=process.env.GITHUB_SERVER_URL||"https://github.com";let s="unknown";"unknown"!==r&&"unknown"!==n&&(s=`${o.replace(/\/$/,"")}/${r}/actions/runs/${n}`);const a={eventName:e,actor:t,runId:n,runUrl:s,workflow:i};if(process.env.GITHUB_EVENT_PATH)try{const e=y(process.env.GITHUB_EVENT_PATH,"utf8");Object.assign(a,JSON.parse(e))}catch{console.error("Failed to parse GitHub event payload")}return a})(),n={...e,source:"github",reason:t.eventName,workflow:t.workflow,runId:t.runId,runUrl:t.runUrl,commitId:t.head_commit?.id,repository:t.repository?.name,repository_homepage:t.repository?.homepage,repository_license:t.repository?.license?.name,repository_owner:t.repository?.owner?.login,repository_owner_avatar_url:t.repository?.owner?.avatar_url,actor:t.actor,sender_login:t.sender?.login,sender_avatar_url:t.sender?.avatar_url};return t.pull_request?{...n,branch:t.pull_request.head?.ref,commitId:t.pull_request.head?.sha,htmlUrl:t.pull_request.html_url}:t.release?{...n,tag:t.release.tag_name,htmlUrl:t.release.html_url}:{...n,branch:yt(t.ref??process.env.GITHUB_REF)}}if(process.env.SYSTEM_TEAMPROJECT){const t=(()=>{const e=process.env.BUILD_BUILDID||"unknown",t=process.env.BUILD_DEFINITIONNAME||"unknown",n=process.env.BUILD_REPOSITORY_NAME||"unknown",r=process.env.SYSTEM_TEAMPROJECT||"unknown",i=process.env.SYSTEM_COLLECTIONURI||"unknown",o=process.env.BUILD_REQUESTEDFOR||"unknown",s=process.env.BUILD_SOURCEBRANCH||"unknown",a=process.env.BUILD_SOURCEVERSION||"unknown",c=process.env.BUILD_REASON||"unknown";let l="unknown";return"unknown"!==i&&"unknown"!==r&&"unknown"!==e&&(l=`${i.replace(/\/$/,"")}${r}/_build/results?buildId=${e}`),{runId:e,pipelineName:t,repository:n,project:r,orgUrl:i,actor:o,branch:s,commitId:a,runUrl:l,reason:c}})();return{...e,source:"azure_devops",reason:t.reason,repository:t.repository,runId:t.runId,runUrl:t.runUrl,actor:t.actor,branch:t.branch,commitId:t.commitId,workflow:t.pipelineName}}return{...e,branch:gt()}},bt=["png","jpg","jpeg","gif","svg","ico","webp","mp4","webm","mp3","woff2","woff","eot","ttf","otf","pdf","md","txt"];const wt=(e,t,n)=>{pt(t,"expected packageJson"),P(t.name,"expected [name] in packageJson"),P(t.version,"expected [version] in packageJson");const r=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/app-bundle.js":lt(e.root))(e,t),i=t.name.replace(/^@|\w.*\//gm,""),o=n?.snapshot?function(e,t){const n=O(e)?.version;if(!n)throw new Error(`Invalid semantic version: "${e}". Expected format: major.minor.patch`);const r=Math.floor(Date.now()/1e3);return`${n}-${"string"==typeof t?`${t}.${r}`:`snapshot.${r}`}`}(t.version,n.snapshot):t.version,s="build"===e.command?void 0:`/bundles/apps/${i}@${o}`,a=dt(t)??ht(),c=bt.map(e=>`.${e}`);return{appKey:i,displayName:t.name,description:t.description||"",keywords:t.keywords,type:"standalone",build:{entryPoint:r,assetPath:s,githubRepo:a,version:o,timestamp:(new Date).toISOString(),commitSha:mt(),annotations:Et(),projectPage:t.homepage,allowedExtensions:c}}},Lt=(e,t)=>C(e,t),It=x.object({environment:x.record(x.string(),x.any()).describe("Key-value map of environment-specific variables for the application. Defaults to an empty object if not provided.").optional().default({}),endpoints:x.record(x.string(),x.object({url:x.string({message:"The endpoint URL. This field is required."}),scopes:x.array(x.string()).optional().default([]).describe("List of scopes required for accessing this endpoint. Defaults to an empty array.")})).describe("A mapping of endpoint names to their configuration objects. Each endpoint must specify a URL and may specify scopes.").optional()}).describe("The API application configuration schema, defining environment variables and endpoints for the application."),St=(e,t)=>i.blueBright(t?.relative?`./${u(t?.cwd??process.cwd(),e)}`:e),Ct=async(e,t,n)=>{const r=wt(e,t.packageJson,{snapshot:n?.snapshot});try{n?.log?.start("loading application package...");const{manifest:t,path:i}=await(async(e,t)=>{const n=t?.file??[`app.manifest.${e.environment}`,"app.manifest","app.manifest.config"],r=await I(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};if("function"==typeof n.default){const t=await n.default(e,{base:r});return Lt(r,t??{})}return Lt(r,n.default??{})}}});return{manifest:r.config,path:r.path,extension:r.extension}})(e,{base:r,file:n?.manifestPath});if(!t.build)throw new Error(`Application manifest for ${t.appKey} does not contain build information, please check the manifest file.`);return"serve"===e.command&&(t.build.assetPath=`/bundles/apps/${t.appKey}/${t.build.version}`),n?.log?.succeed("generated manifest from",St(i,{relative:!0})),t}catch(e){if(e instanceof S){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${St(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(i.dim("no local manifest config applied, using default generated from package")),r}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?St(n?.manifestPath):""}`),e}};async function _t(e){e?.start("resolve project package");try{const t=await(async e=>{const t=await f({...e,normalize:!1});if(!t)throw new Error("failed to find package.json");const n={...t.packageJson};return st(n),{packageJson:{...n,version:t.packageJson.version},path:t.path,root:s(t.path)}})();return e?.succeed("ðĶ",i.yellowBright([t.packageJson.name,t.packageJson.version].join("@"))),e?.info("ð ",i.blueBright(t.root)),t}catch(t){throw e?.fail("â ïļ","failed to resolve project package"),t}}const Dt=async e=>{const{log:t}=e??{},n=await _t(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await Ct(r,n,{log:t,manifestPath:e?.manifest,snapshot:e?.snapshot});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},Pt=async e=>{const{log:t,snapshot:r}=e??{};t?.log(i.bold("Starting to build application"));const{manifest:o,pkg:s,env:a}=await Dt({log:t,manifest:e?.manifest,snapshot:r});t?.start("loading vite config...");const c=await ft(a,s);t?.succeed("vite config applied"),t?.debug("vite config:",c),t?.start("ðĪðŧ","building application..."),t?.startNativeConsoleCapture(),await n(c),t?.stopNativeConsoleCapture(),t?.succeed("build completed ð");return{pkg:s,manifest:o,outDir:c.build.outDir}};var Nt,Ot,At={exports:{}};function Rt(){return Ot?Nt:(Ot=1,Nt={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24})}var $t,Tt,xt,Ut,Ft,kt,Bt,Mt,Gt={};function jt(){return $t||($t=1,function(e){const t={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",MAX_OUTPUT_EXCEEDED:"Decompressed data exceeds the declared uncompressed size",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DUPLICATE_ENTRY:"Duplicate entry name {0}",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",ZIP64_VALUE_TOO_LARGE:"Zip64 value exceeds the maximum safe integer",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function n(e){return function(...t){return t.length&&(e=e.replace(/\{(\d)\}/g,(e,n)=>t[n]||"")),new Error("ADM-ZIP: "+e)}}for(const r of Object.keys(t))e[r]=n(t[r])}(Gt)),Gt}function Ht(){if(xt)return Tt;xt=1;const e=U,t=F,n=Rt(),r=jt(),i="object"==typeof process&&"win32"===process.platform,o=e=>"object"==typeof e&&null!==e,s=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=3988292384^t>>>1:t>>>=1;return t>>>0});function a(n){this.sep=t.sep,this.fs=e,o(n)&&o(n.fs)&&"function"==typeof n.fs.statSync&&(this.fs=n.fs)}return Tt=a,a.prototype.makeDir=function(e){const t=this;!function(e){let n=e.split(t.sep)[0];e.split(t.sep).forEach(function(e){if(e&&":"!==e.substr(-1,1)){var i;n+=t.sep+e;try{i=t.fs.statSync(n)}catch(e){if(!e.message||!e.message.startsWith("ENOENT"))throw e;t.fs.mkdirSync(n)}if(i&&i.isFile())throw r.FILE_IN_THE_WAY(`"${n}"`)}})}(e)},a.prototype.writeFileTo=function(e,n,r,i){const o=this;if(o.fs.existsSync(e)){if(!r)return!1;if(o.fs.statSync(e).isDirectory())return!1}var s,a=t.dirname(e);o.fs.existsSync(a)||o.makeDir(a);try{s=o.fs.openSync(e,"w",438)}catch(t){o.fs.chmodSync(e,438),s=o.fs.openSync(e,"w",438)}if(s)try{o.fs.writeSync(s,n,0,n.length,0)}finally{o.fs.closeSync(s)}return o.fs.chmodSync(e,i||438),!0},a.prototype.writeFileToAsync=function(e,n,r,i,o){"function"==typeof i&&(o=i,i=void 0);const s=this;s.fs.exists(e,function(a){if(a&&!r)return o(!1);s.fs.stat(e,function(r,c){if(a&&c&&c.isDirectory())return o(!1);var l=t.dirname(e);s.fs.exists(l,function(t){if(!t)try{s.makeDir(l)}catch(e){return o(!1)}const r=function(t){s.fs.write(t,n,0,n.length,0,function(n){s.fs.close(t,function(){if(n)return o(!1);s.fs.chmod(e,i||438,function(){o(!0)})})})};s.fs.open(e,"w",438,function(t,n){t?s.fs.chmod(e,438,function(){s.fs.open(e,"w",438,function(e,t){if(e||!t)return o(!1);r(t)})}):n?r(n):o(!1)})})})})},a.prototype.assertPathSafe=function(e,n){const i=this;if("function"!=typeof i.fs.lstatSync)return;const o=t.resolve(e),s=t.resolve(n);if(s===o)return;const a=t.relative(o,s);if(!a||".."===a||a.startsWith(".."+t.sep)||t.isAbsolute(a))return;let c=o;for(const e of a.split(t.sep)){if(!e||"."===e)continue;let n;c=t.join(c,e);try{n=i.fs.lstatSync(c)}catch(e){break}if(n.isSymbolicLink())throw r.FILE_IN_THE_WAY(`"${c}"`)}},a.prototype.findFiles=function(e){const n=this,r="function"==typeof n.fs.lstatSync,i=n.fs.realpathSync(e);return function e(o,s,a,c){let l=[];return n.fs.readdirSync(o).forEach(function(u){const f=t.join(o,u);if(function(e){if(!r)return!1;if(!n.fs.lstatSync(e).isSymbolicLink())return!1;let o;try{o=n.fs.realpathSync(e)}catch(e){return!0}return!(o===i||o.startsWith(i+t.sep))}(f))return;const p=n.fs.statSync(f);if(l.push(t.normalize(f)+(p.isDirectory()?n.sep:"")),p.isDirectory()&&a){const t=n.fs.realpathSync(f);c.has(t)||(c.add(t),l=l.concat(e(f,s,a,c)))}}),l}(e,void 0,!0,new Set([i]))},a.prototype.findFilesAsync=function(e,n){const r=this,i=[];let o=!1;const s=function(e){o||(o=!0,n(e,e?void 0:i))},a="function"==typeof r.fs.lstat;let c=null;const l=function(e,n,o){r.fs.readdir(e,function(s,u){if(s)return o(s);let f=u.length;if(!f)return o();u.forEach(function(s){const u=t.join(e,s);!function(e,n){if(!a)return n(null,!1);r.fs.lstat(e,function(i,o){return i?n(i):o&&o.isSymbolicLink()?void r.fs.realpath(e,function(e,r){if(e)return n(null,!0);n(null,!(r===c||r.startsWith(c+t.sep)))}):n(null,!1)})}(u,function(e,s){if(e)return o(e);s?--f||o():r.fs.stat(u,function(e,s){if(e)return o(e);s?(i.push(t.normalize(u)+(s.isDirectory()?r.sep:"")),s.isDirectory()?r.fs.realpath(u,function(e,t){if(e)return o(e);n.has(t)?--f||o():(n.add(t),l(u,n,function(e){if(e)return o(e);--f||o()}))}):--f||o()):--f||o()})})})})};r.fs.realpath(e,function(t,n){if(t)return s(t);c=n,l(e,new Set([n]),s)})},a.prototype.getAttributes=function(){},a.prototype.setAttributes=function(){},a.crc32update=function(e,t){return s[255&(e^t)]^e>>>8},a.crc32=function(e){"string"==typeof e&&(e=Buffer.from(e,"utf8"));let t=e.length,n=-1;for(let r=0;r<t;)n=a.crc32update(n,e[r++]);return~n>>>0},a.methodToString=function(e){switch(e){case n.STORED:return"STORED ("+e+")";case n.DEFLATED:return"DEFLATED ("+e+")";default:return"UNSUPPORTED ("+e+")"}},a.canonical=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.join(".",n)},a.zipnamefix=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.posix.join(".",n)},a.findLast=function(e,t){if(!Array.isArray(e))throw new TypeError("arr is not array");for(let n=(e.length>>>0)-1;n>=0;n--)if(t(e[n],n,e))return e[n]},a.sanitize=function(e,n){e=t.resolve(t.normalize(e));for(var r=n.split("/"),i=0,o=r.length;i<o;i++){var s=t.normalize(t.join(e,r.slice(i,o).join(t.sep)));if(s===e||s.startsWith(e+t.sep))return s}return t.normalize(t.join(e,t.basename(n)))},a.toBuffer=function(e,t){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e):"string"==typeof e?t(e):Buffer.alloc(0)},a.readBigUInt64LE=function(e,t){const n=e.readUInt32LE(t),i=4294967296*e.readUInt32LE(t+4)+n;if(i>Number.MAX_SAFE_INTEGER)throw r.ZIP64_VALUE_TOO_LARGE();return i},a.writeBigUInt64LE=function(e,t,n){const r=t>>>0,i=Math.floor(t/4294967296)>>>0;e.writeUInt32LE(r,n),e.writeUInt32LE(i,n+4)},a.fromDOS2Date=function(e){return new Date(1980+(e>>25&127),Math.max((e>>21&15)-1,0),Math.max(e>>16&31,1),e>>11&31,e>>5&63,(31&e)<<1)},a.fromDate2DOS=function(e){let t=0,n=0;return e.getFullYear()>1979&&(t=(e.getFullYear()-1980&127)<<9|e.getMonth()+1<<5|e.getDate(),n=e.getHours()<<11|e.getMinutes()<<5|e.getSeconds()>>1),t<<16|n},a.isWin=i,a.crcTable=s,Tt}function zt(){return Mt||(Mt=1,At.exports=Ht(),At.exports.Constants=Rt(),At.exports.Errors=jt(),At.exports.FileAttr=function(){if(Ft)return Ut;Ft=1;const e=F;return Ut=function(t,{fs:n}){var r=t||"",i={directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0},o=null;return r&&n.existsSync(r)?(o=n.statSync(r),i.directory=o.isDirectory(),i.mtime=o.mtime,i.atime=o.atime,i.executable=!!(73&o.mode),i.readonly=!(128&o.mode),i.hidden="."===e.basename(r)[0]):console.warn("Invalid path: "+r),{get directory(){return i.directory},get readOnly(){return i.readonly},get hidden(){return i.hidden},get mtime(){return i.mtime},get atime(){return i.atime},get executable(){return i.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:r,isDirectory:i.directory,isReadOnly:i.readonly,isHidden:i.hidden,isExecutable:i.executable,mTime:i.mtime,aTime:i.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}(),At.exports.decoder=Bt?kt:(Bt=1,kt={efs:!0,encode:e=>Buffer.from(e,"utf8"),decode:e=>e.toString("utf8")})),At.exports}var qt,Vt,Wt,Zt,Kt,Yt={};function Xt(){if(Vt)return qt;Vt=1;var e=zt(),t=e.Constants;return qt=function(){var n=20,r=10,i=0,o=0,s=0,a=0,c=0,l=0,u=0,f=0,p=0,d=0,h=0,m=0,g=0;n|=e.isWin?2560:768,i|=t.FLG_EFS;const v={extraLen:0},y=e=>Math.max(0,e)>>>0;return s=e.fromDate2DOS(new Date),{get made(){return n},set made(e){n=e},get version(){return r},set version(e){r=e},get flags(){return i},set flags(e){i=e},get flags_efs(){return(i&t.FLG_EFS)>0},set flags_efs(e){e?i|=t.FLG_EFS:i&=~t.FLG_EFS},get flags_desc(){return(i&t.FLG_DESC)>0},set flags_desc(e){e?i|=t.FLG_DESC:i&=~t.FLG_DESC},get method(){return o},set method(e){switch(e){case t.STORED:this.version=10;break;case t.DEFLATED:default:this.version=20}o=e},get time(){return e.fromDOS2Date(this.timeval)},set time(t){t=new Date(t),this.timeval=e.fromDate2DOS(t)},get timeval(){return s},set timeval(e){s=y(e)},get timeHighByte(){return e=s>>>8,255&Math.max(0,e);var e},get crc(){return a},set crc(e){a=y(e)},get compressedSize(){return c},set compressedSize(e){c=y(e)},get size(){return l},set size(e){l=y(e)},get fileNameLength(){return u},set fileNameLength(e){u=e},get extraLength(){return f},set extraLength(e){f=e},get extraLocalLength(){return v.extraLen},set extraLocalLength(e){v.extraLen=e},get commentLength(){return p},set commentLength(e){p=e},get diskNumStart(){return d},set diskNumStart(e){d=y(e)},get inAttr(){return h},set inAttr(e){h=y(e)},get attr(){return m},set attr(e){m=y(e)},get fileAttr(){return(m||0)>>16&511},get offset(){return g},set offset(e){g=y(e)},get encrypted(){return(i&t.FLG_ENC)===t.FLG_ENC},get centralHeaderSize(){return t.CENHDR+u+f+p},get realDataOffset(){return g+t.LOCHDR+v.fnameLen+v.extraLen},get localHeader(){return v},loadLocalHeaderFromBinary:function(n){if(g<0||g+t.LOCHDR>n.length)throw e.Errors.INVALID_LOC();var r=n.slice(g,g+t.LOCHDR);if(r.readUInt32LE(0)!==t.LOCSIG)throw e.Errors.INVALID_LOC();v.version=r.readUInt16LE(t.LOCVER),v.flags=r.readUInt16LE(t.LOCFLG),v.flags_desc=(v.flags&t.FLG_DESC)>0,v.method=r.readUInt16LE(t.LOCHOW),v.time=r.readUInt32LE(t.LOCTIM),v.crc=r.readUInt32LE(t.LOCCRC),v.compressedSize=r.readUInt32LE(t.LOCSIZ),v.size=r.readUInt32LE(t.LOCLEN),v.fnameLen=r.readUInt16LE(t.LOCNAM),v.extraLen=r.readUInt16LE(t.LOCEXT);const i=g+t.LOCHDR+v.fnameLen,o=i+v.extraLen;return n.slice(i,o)},loadFromBinary:function(v){if(v.length!==t.CENHDR||v.readUInt32LE(0)!==t.CENSIG)throw e.Errors.INVALID_CEN();n=v.readUInt16LE(t.CENVEM),r=v.readUInt16LE(t.CENVER),i=v.readUInt16LE(t.CENFLG),o=v.readUInt16LE(t.CENHOW),s=v.readUInt32LE(t.CENTIM),a=v.readUInt32LE(t.CENCRC),c=v.readUInt32LE(t.CENSIZ),l=v.readUInt32LE(t.CENLEN),u=v.readUInt16LE(t.CENNAM),f=v.readUInt16LE(t.CENEXT),p=v.readUInt16LE(t.CENCOM),d=v.readUInt16LE(t.CENDSK),h=v.readUInt16LE(t.CENATT),m=v.readUInt32LE(t.CENATX),g=v.readUInt32LE(t.CENOFF)},localHeaderToBinary:function(){var e=Buffer.alloc(t.LOCHDR);return e.writeUInt32LE(t.LOCSIG,0),e.writeUInt16LE(r,t.LOCVER),e.writeUInt16LE(i&~t.FLG_DESC,t.LOCFLG),e.writeUInt16LE(o,t.LOCHOW),e.writeUInt32LE(s,t.LOCTIM),e.writeUInt32LE(a,t.LOCCRC),e.writeUInt32LE(c,t.LOCSIZ),e.writeUInt32LE(l,t.LOCLEN),e.writeUInt16LE(u,t.LOCNAM),e.writeUInt16LE(v.extraLen,t.LOCEXT),e},centralHeaderToBinary:function(){var e=Buffer.alloc(t.CENHDR+u+f+p);return e.writeUInt32LE(t.CENSIG,0),e.writeUInt16LE(n,t.CENVEM),e.writeUInt16LE(r,t.CENVER),e.writeUInt16LE(i&~t.FLG_DESC,t.CENFLG),e.writeUInt16LE(o,t.CENHOW),e.writeUInt32LE(s,t.CENTIM),e.writeUInt32LE(a,t.CENCRC),e.writeUInt32LE(c,t.CENSIZ),e.writeUInt32LE(l,t.CENLEN),e.writeUInt16LE(u,t.CENNAM),e.writeUInt16LE(f,t.CENEXT),e.writeUInt16LE(p,t.CENCOM),e.writeUInt16LE(d,t.CENDSK),e.writeUInt16LE(h,t.CENATT),e.writeUInt32LE(m,t.CENATX),e.writeUInt32LE(g,t.CENOFF),e},toJSON:function(){const s=function(e){return e+" bytes"};return{made:n,version:r,flags:i,method:e.methodToString(o),time:this.time,crc:"0x"+a.toString(16).toUpperCase(),compressedSize:s(c),size:s(l),fileNameLength:s(u),extraLength:s(f),commentLength:s(p),diskNumStart:d,inAttr:h,attr:m,offset:g,centralHeaderSize:s(t.CENHDR+u+f+p)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}function Jt(){return Kt||(Kt=1,Yt.EntryHeader=Xt(),Yt.MainHeader=function(){if(Zt)return Wt;Zt=1;var e=zt(),t=e.Constants;return Wt=function(){var n=0,r=0,i=0,o=0,s=0;const a=()=>n>t.EF_ZIP64_OR_16||r>t.EF_ZIP64_OR_16||i>t.EF_ZIP64_OR_32||o>t.EF_ZIP64_OR_32;return{get diskEntries(){return n},set diskEntries(e){n=r=e},get totalEntries(){return r},set totalEntries(e){r=n=e},get size(){return i},set size(e){i=e},get offset(){return o},set offset(e){o=e},get commentLength(){return s},set commentLength(e){s=e},get mainHeaderSize(){return(a()?t.ZIP64HDR+t.END64HDR:0)+t.ENDHDR+s},loadFromBinary:function(a){if((a.length!==t.ENDHDR||a.readUInt32LE(0)!==t.ENDSIG)&&(a.length<t.ZIP64HDR||a.readUInt32LE(0)!==t.ZIP64SIG))throw e.Errors.INVALID_END();a.readUInt32LE(0)===t.ENDSIG?(n=a.readUInt16LE(t.ENDSUB),r=a.readUInt16LE(t.ENDTOT),i=a.readUInt32LE(t.ENDSIZ),o=a.readUInt32LE(t.ENDOFF),s=a.readUInt16LE(t.ENDCOM)):(n=e.readBigUInt64LE(a,t.ZIP64SUB),r=e.readBigUInt64LE(a,t.ZIP64TOT),i=e.readBigUInt64LE(a,t.ZIP64SIZB),o=e.readBigUInt64LE(a,t.ZIP64OFF),s=0)},toBinary:function(){var c;if(!a())return(c=Buffer.alloc(t.ENDHDR+s)).writeUInt32LE(t.ENDSIG,0),c.writeUInt32LE(0,4),c.writeUInt16LE(n,t.ENDSUB),c.writeUInt16LE(r,t.ENDTOT),c.writeUInt32LE(i,t.ENDSIZ),c.writeUInt32LE(o,t.ENDOFF),c.writeUInt16LE(s,t.ENDCOM),c.fill(" ",t.ENDHDR),c;let l=0;(c=Buffer.alloc(this.mainHeaderSize)).writeUInt32LE(t.ZIP64SIG,l),e.writeBigUInt64LE(c,t.ZIP64HDR-t.ZIP64LEAD,l+t.ZIP64SIZE),c.writeUInt16LE(45,l+t.ZIP64VEM),c.writeUInt16LE(45,l+t.ZIP64VER),c.writeUInt32LE(0,l+t.ZIP64DSK),c.writeUInt32LE(0,l+t.ZIP64DSKDIR),e.writeBigUInt64LE(c,n,l+t.ZIP64SUB),e.writeBigUInt64LE(c,r,l+t.ZIP64TOT),e.writeBigUInt64LE(c,i,l+t.ZIP64SIZB),e.writeBigUInt64LE(c,o,l+t.ZIP64OFF);const u=o+i;return l+=t.ZIP64HDR,c.writeUInt32LE(t.END64SIG,l),c.writeUInt32LE(0,l+t.END64START),e.writeBigUInt64LE(c,u,l+t.END64OFF),c.writeUInt32LE(1,l+t.END64NUMDISKS),l+=t.END64HDR,c.writeUInt32LE(t.ENDSIG,l),c.writeUInt32LE(0,l+4),c.writeUInt16LE(Math.min(n,t.EF_ZIP64_OR_16),l+t.ENDSUB),c.writeUInt16LE(Math.min(r,t.EF_ZIP64_OR_16),l+t.ENDTOT),c.writeUInt32LE(Math.min(i,t.EF_ZIP64_OR_32),l+t.ENDSIZ),c.writeUInt32LE(Math.min(o,t.EF_ZIP64_OR_32),l+t.ENDOFF),c.writeUInt16LE(s,l+t.ENDCOM),c.fill(" ",l+t.ENDHDR),c},toJSON:function(){return{diskEntries:n,totalEntries:r,size:i+" bytes",offset:function(e,t){let n=e.toString(16).toUpperCase();for(;n.length<t;)n="0"+n;return"0x"+n}(o,4),commentLength:s}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}()),Yt}var Qt,en,tn,nn,rn,on,sn,an,cn,ln,un,fn,pn,dn={};function hn(){if(on)return rn;on=1;const{randomFillSync:e}=B,t=jt(),n=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;return t>>>0}),r=(e,t)=>Math.imul(e,t)>>>0,i=(e,t)=>n[255&(e^t)]^e>>>8,o=()=>"function"==typeof e?e(Buffer.alloc(12)):o.node();o.node=()=>{const e=Buffer.alloc(12),t=e.length;for(let n=0;n<t;n++)e[n]=256*Math.random()&255;return e};const s={genSalt:o};function a(e){const t=Buffer.isBuffer(e)?e:Buffer.from(e);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let e=0;e<t.length;e++)this.updateKeys(t[e])}return a.prototype.updateKeys=function(e){const t=this.keys;return t[0]=i(t[0],e),t[1]+=255&t[0],t[1]=r(t[1],134775813)+1,t[2]=i(t[2],t[1]>>>24),e},a.prototype.next=function(){const e=(2|this.keys[2])>>>0;return r(e,1^e)>>8&255},rn={decrypt:function(e,n,r){if(!e||!Buffer.isBuffer(e)||e.length<12)return Buffer.alloc(0);const i=function(e){const t=new a(e);return function(e){const n=Buffer.alloc(e.length);let r=0;for(let i of e)n[r++]=t.updateKeys(i^t.next());return n}}(r),o=i(e.slice(0,12)),s=8&~n.flags?n.crc>>>24:n.timeHighByte;if(o[11]!==s)throw t.WRONG_PASSWORD();return i(e.slice(12))},encrypt:function(e,t,n,r=!1){null==e&&(e=Buffer.alloc(0)),Buffer.isBuffer(e)||(e=Buffer.from(e.toString()));const i=function(e){const t=new a(e);return function(e,n,r=0){n||(n=Buffer.alloc(e.length));for(let i of e){const e=t.next();n[r++]=i^e,t.updateKeys(i)}return n}}(n),o=s.genSalt();o[11]=t.crc>>>24&255,r&&(o[10]=t.crc>>>16&255);const c=Buffer.alloc(e.length+12);return i(o,c),i(e,c,12)},_salter:function(e){Buffer.isBuffer(e)&&e.length>=12?s.genSalt=function(){return e.slice(0,12)}:s.genSalt="node"===e?o.node:o}}}function mn(){return sn||(sn=1,dn.Deflater=en?Qt:(en=1,Qt=function(e){var t=k,n={chunkSize:1024*(parseInt(e.length/1024)+1)};return{deflate:function(){return t.deflateRawSync(e,n)},deflateAsync:function(r){var i=t.createDeflateRaw(n),o=[],s=0;i.on("data",function(e){o.push(e),s+=e.length}),i.on("end",function(){var e=Buffer.alloc(s),t=0;e.fill(0);for(var n=0;n<o.length;n++){var i=o[n];i.copy(e,t),t+=i.length}r&&r(e)}),i.end(e)}}}),dn.Inflater=function(){if(nn)return tn;nn=1;const e=+(process?.versions?.node??"").split(".")[0]||0,t=jt();return tn=function(n,r){var i=k;const o=r>0?r:1,s=e>=15?{maxOutputLength:o}:{};return{inflate:function(){return i.inflateRawSync(n,s)},inflateAsync:function(e){var r=i.createInflateRaw(s),a=[],c=0,l=!1;const u=function(t){l||(l=!0,r.destroy(),e&&e(Buffer.alloc(0),t))};r.on("error",function(e){u(e)}),r.on("data",function(e){if(!l){if((c+=e.length)>o)return u(t.MAX_OUTPUT_EXCEEDED());a.push(e)}}),r.on("end",function(){if(!l){l=!0;var t=Buffer.alloc(c),n=0;t.fill(0);for(var r=0;r<a.length;r++){var i=a[r];i.copy(t,n),n+=i.length}e&&e(t)}}),r.end(n)}}}}(),dn.ZipCrypto=hn()),dn}function gn(){if(cn)return an;cn=1;var e=zt(),t=Jt(),n=e.Constants,r=mn();return an=function(i,o){var s=new t.EntryHeader,a=Buffer.alloc(0),c=Buffer.alloc(0),l=!1,u=null,f=Buffer.alloc(0),p=Buffer.alloc(0),d=!0;const h=i,m="object"==typeof h.decoder?h.decoder:e.decoder;function g(){if(!(o&&o instanceof Uint8Array))return Buffer.alloc(0);p=s.loadLocalHeaderFromBinary(o);const t=s.realDataOffset,n=t+s.compressedSize;if(t<0||n<t||n>o.length)throw e.Errors.INVALID_LOC();return o.slice(t,n)}function v(t){const n=s.flags_desc||s.localHeader.flags_desc?s.crc:s.localHeader.crc;return e.crc32(t)===n}function y(t,n,i){if(void 0===n&&"string"==typeof t&&(i=t,t=void 0),l)return t&&n&&n(Buffer.alloc(0),e.Errors.DIRECTORY_CONTENT_ERROR()),Buffer.alloc(0);var o,c;try{if(0===(o=g()).length)return t&&n&&n(o),o;if(s.encrypted){if("string"!=typeof i&&!Buffer.isBuffer(i))throw e.Errors.INVALID_PASS_PARAM();o=r.ZipCrypto.decrypt(o,s,i)}}catch(e){if(t&&n)return n(Buffer.alloc(0),e),Buffer.alloc(0);throw e}switch(s.method){case e.Constants.STORED:if(c=Buffer.alloc(o.length),o.copy(c),v(c))return t&&n&&n(c),c;throw t&&n&&n(c,e.Errors.BAD_CRC()),e.Errors.BAD_CRC();case e.Constants.DEFLATED:var u=new r.Inflater(o,s.size);if(!t){if(!v(c=u.inflate()))throw e.Errors.BAD_CRC(`"${m.decode(a)}"`);return c}u.inflateAsync(function(t,r){n&&(r?n(Buffer.alloc(0),r):v(t)?n(t):n(t,e.Errors.BAD_CRC()))});break;default:throw t&&n&&n(Buffer.alloc(0),e.Errors.UNKNOWN_METHOD()),e.Errors.UNKNOWN_METHOD()}}function E(t,n){if((!u||!u.length)&&Buffer.isBuffer(o))return t&&n&&n(g()),g();if(u.length&&!l){var i;switch(s.method){case e.Constants.STORED:return s.compressedSize=s.size,i=Buffer.alloc(u.length),u.copy(i),t&&n&&n(i),i;default:case e.Constants.DEFLATED:var a=new r.Deflater(u);if(!t){var c=a.deflate();return s.compressedSize=c.length,c}a.deflateAsync(function(e){i=Buffer.alloc(e.length),s.compressedSize=e.length,e.copy(i),n&&n(i)}),a=null}}else{if(!t||!n)return Buffer.alloc(0);n(Buffer.alloc(0))}}function b(t,n){return e.readBigUInt64LE(t,n)}function w(e){var t,r,i,o;e.length>=n.EF_ZIP64_SCOMP&&(t=b(e,n.EF_ZIP64_SUNCOMP),s.size===n.EF_ZIP64_OR_32&&(s.size=t)),e.length>=n.EF_ZIP64_RHO&&(r=b(e,n.EF_ZIP64_SCOMP),s.compressedSize===n.EF_ZIP64_OR_32&&(s.compressedSize=r)),e.length>=n.EF_ZIP64_DSN&&(i=b(e,n.EF_ZIP64_RHO),s.offset===n.EF_ZIP64_OR_32&&(s.offset=i)),e.length>=n.EF_ZIP64_DSN+4&&(o=e.readUInt32LE(n.EF_ZIP64_DSN),s.diskNumStart===n.EF_ZIP64_OR_16&&(s.diskNumStart=o))}return d=!!m.hasOwnProperty("efs")&&m.efs,{get entryName(){return m.decode(a)},get rawEntryName(){return a},set entryName(t){var n=(a=e.toBuffer(t,m.encode))[a.length-1];l=47===n||92===n,s.fileNameLength=a.length},get efs(){return"function"==typeof d?d(this.entryName):d},get extra(){return f},set extra(t){f=t,s.extraLength=t.length,function(t){try{for(var r,i,o,s=0;s+4<t.length;)r=t.readUInt16LE(s),s+=2,i=t.readUInt16LE(s),s+=2,o=t.slice(s,s+i),s+=i,n.ID_ZIP64===r&&w(o)}catch(t){throw e.Errors.EXTRA_FIELD_PARSE_ERROR()}}(t)},get comment(){return m.decode(c)},set comment(t){if(c=e.toBuffer(t,m.encode),s.commentLength=c.length,c.length>65535)throw e.Errors.COMMENT_TOO_LONG()},get name(){const e=m.decode(a);return l?e.replace(/[/\\]$/,"").split("/").pop():e.split("/").pop()},get isDirectory(){return l},getCompressedData:function(){return E(!1,null)},getCompressedDataAsync:function(e){E(!0,e)},setData:function(t){u=e.toBuffer(t,e.decoder.encode),!l&&u.length?(s.size=u.length,s.method=e.Constants.DEFLATED,s.crc=e.crc32(t),s.changed=!0):s.method=e.Constants.STORED},getData:function(e){return s.changed?u:y(!1,null,e)},getDataAsync:function(e,t){s.changed?e(u):y(!0,e,t)},set attr(e){s.attr=e},get attr(){return s.attr},set header(e){s.loadFromBinary(e)},get header(){return s},packCentralHeader:function(){s.flags_efs=this.efs,s.extraLength=f.length;var t=s.centralHeaderToBinary(),n=e.Constants.CENHDR;return a.copy(t,n),n+=a.length,f.copy(t,n),n+=s.extraLength,c.copy(t,n),t},packLocalHeader:function(){let e=0;s.flags_efs=this.efs,s.extraLocalLength=p.length;const t=s.localHeaderToBinary(),n=Buffer.alloc(t.length+a.length+s.extraLocalLength);return t.copy(n,e),e+=t.length,a.copy(n,e),e+=a.length,p.copy(n,e),e+=p.length,n},toJSON:function(){const e=function(e){return"<"+(e&&e.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:s.toJSON(),compressedData:e(o),data:e(u)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}},an}function vn(){if(un)return ln;un=1;const e=gn(),t=Jt(),n=zt();return ln=function(r,i){var o=[],s=Object.create(null),a=Buffer.alloc(0),c=new t.MainHeader,l=!1;const u=new Set,f=i,{noSort:p,decoder:d}=f;function h(){if(l=!0,s=Object.create(null),c.diskEntries>(r.length-c.offset)/n.Constants.CENHDR)throw n.Errors.DISK_ENTRY_TOO_LARGE();o=new Array(c.diskEntries);for(var t=c.offset,i=0;i<o.length;i++){var a=t,p=new e(f,r);if(p.header=r.slice(a,a+=n.Constants.CENHDR),p.entryName=r.slice(a,a+=p.header.fileNameLength),p.header.extraLength&&(p.extra=r.slice(a,a+=p.header.extraLength)),p.header.commentLength&&(p.comment=r.slice(a,a+p.header.commentLength)),t+=p.header.centralHeaderSize,p.entryName in s)throw n.Errors.DUPLICATE_ENTRY(`"${p.entryName}"`);o[i]=p,s[p.entryName]=p}u.clear(),function(){const t=new Set;for(const e of Object.keys(s)){const n=e.split("/");if(n.pop(),n.length)for(let e=0;e<n.length;e++){const r=n.slice(0,e+1).join("/")+"/";t.add(r)}}for(const n of t)if(!(n in s)){const t=new e(f);t.entryName=n,t.attr=16,t.temporary=!0,o.push(t),s[t.entryName]=t,u.add(t)}}()}function m(){o.length>1&&!p&&(o=o.map(e=>({entry:e,key:e.entryName.toLowerCase()})).sort((e,t)=>e.key.localeCompare(t.key)).map(e=>e.entry))}return r?function(e){var t=r.length-n.Constants.ENDHDR,i=Math.max(0,t-65535),o=i,s=r.length,l=-1,u=0;"boolean"==typeof f.trailingSpace&&f.trailingSpace&&(i=0);for(;t>=o;t--)if(80===r[t])if(r.readUInt32LE(t)!==n.Constants.ENDSIG)if(r.readUInt32LE(t)!==n.Constants.END64SIG){if(r.readUInt32LE(t)===n.Constants.ZIP64SIG){l=t,s=t+n.readBigUInt64LE(r,t+n.Constants.ZIP64SIZE)+n.Constants.ZIP64LEAD;break}}else o=i;else l=t,u=t,s=t+n.Constants.ENDHDR,o=t-n.Constants.END64HDR;if(-1==l)throw n.Errors.INVALID_FORMAT();c.loadFromBinary(r.slice(l,s)),c.commentLength&&(a=r.slice(u+n.Constants.ENDHDR));e&&h()}(f.readEntries):l=!0,{get entries(){return l||h(),o.filter(e=>!u.has(e))},get comment(){return d.decode(a)},set comment(e){a=n.toBuffer(e,d.encode),c.commentLength=a.length},getEntryCount:function(){return l?o.length:c.diskEntries},forEach:function(e){this.entries.forEach(e)},getEntry:function(e){return l||h(),s[e]||null},setEntry:function(e){l||h(),o.push(e),s[e.entryName]=e,c.totalEntries=o.length},deleteFile:function(e,t=!0){l||h();const n=s[e];this.getEntryChildren(n,t).map(e=>e.entryName).forEach(this.deleteEntry)},deleteEntry:function(e){l||h();const t=s[e],n=o.indexOf(t);n>=0&&(o.splice(n,1),delete s[e],c.totalEntries=o.length)},getEntryChildren:function(e,t=!0){if(l||h(),"object"==typeof e){if(e.isDirectory&&t){const t=[],n=e.entryName;for(const e of o)e.entryName.startsWith(n)&&t.push(e);return t}return[e]}return[]},getChildCount:function(e){if(e&&e.isDirectory){const t=this.getEntryChildren(e);return t.includes(e)?t.length-1:t.length}return 0},compressToBuffer:function(){l||h(),m();const e=[],t=[];let n=0,i=0;c.size=0,c.offset=0;let o=0;for(const r of this.entries){const s=r.getCompressedData();r.header.offset=i;const a=r.packLocalHeader(),l=a.length+s.length;i+=l,e.push(a),e.push(s);const u=r.packCentralHeader();t.push(u),c.size+=u.length,n+=l+u.length,o++}n+=c.mainHeaderSize,c.offset=i,c.totalEntries=o,i=0;const s=Buffer.alloc(n);for(const t of e)t.copy(s,i),i+=t.length;for(const e of t)e.copy(s,i),i+=e.length;const u=c.toBinary();return a&&a.copy(u,u.length-a.length),u.copy(s,i),r=s,l=!1,s},toAsyncBuffer:function(e,t,n,i){try{l||h(),m();const t=[],o=[];let s=0,u=0,f=0;c.size=0,c.offset=0;const p=function(d){if(d.length>0){const e=d.shift(),r=e.entryName+e.extra.toString();n&&n(r),e.getCompressedDataAsync(function(n){i&&i(r),e.header.offset=u;const a=e.packLocalHeader(),l=a.length+n.length;u+=l,t.push(a),t.push(n);const h=e.packCentralHeader();o.push(h),c.size+=h.length,s+=l+h.length,f++,p(d)})}else{s+=c.mainHeaderSize,c.offset=u,c.totalEntries=f,u=0;const n=Buffer.alloc(s);t.forEach(function(e){e.copy(n,u),u+=e.length}),o.forEach(function(e){e.copy(n,u),u+=e.length});const i=c.toBinary();a&&a.copy(i,i.length-a.length),i.copy(n,u),r=n,l=!1,e(n)}};p(Array.from(this.entries))}catch(e){t(e)}}}},ln}var yn=function(){if(pn)return fn;pn=1;const e=zt(),t=F,n=gn(),r=vn(),i=(...t)=>e.findLast(t,e=>"boolean"==typeof e),o=(...t)=>e.findLast(t,e=>"string"==typeof e),s={noSort:!1,readEntries:!1,method:e.Constants.NONE,fs:null};return fn=function(a,c){let l=null;const u=Object.assign(Object.create(null),s);a&&"object"==typeof a&&(a instanceof Uint8Array||(Object.assign(u,a),a=u.input?u.input:void 0,u.input&&delete u.input),Buffer.isBuffer(a)&&(l=a,u.method=e.Constants.BUFFER,a=void 0)),Object.assign(u,c);const f=new e(u),p=e=>{e.filter(e=>e.attr).sort((e,t)=>t.path.length-e.path.length).forEach(e=>f.fs.chmodSync(e.path,e.attr))};if("object"==typeof u.decoder&&"function"==typeof u.decoder.encode&&"function"==typeof u.decoder.decode||(u.decoder=e.decoder),a&&"string"==typeof a){if(!f.fs.existsSync(a))throw e.Errors.INVALID_FILENAME();u.method=e.Constants.FILE,u.filename=a,l=f.fs.readFileSync(a)}const d=new r(l,u),{canonical:h,sanitize:m,zipnamefix:g}=e;function v(e){var n;if(e&&d&&("string"==typeof e&&(n=d.getEntry(t.posix.normalize(e))),"object"==typeof e&&void 0!==e.entryName&&void 0!==e.header&&(n=d.getEntry(e.entryName)),n))return n;return null}function y(e){const{join:n,normalize:r,sep:i}=t.posix;return n(t.isAbsolute(e)?"/":".",r(i+e.split("\\").join(i)+i))}function E(e){return e instanceof RegExp?(t=e,function(e){return t.test(e)}):"function"!=typeof e?()=>!0:e;var t}const b=(e,n)=>{let r=n.slice(-1);return r=r===f.sep?f.sep:"",t.relative(e,n)+r};return{readFile:function(e,t){var n=v(e);return n&&n.getData(t)||null},childCount:function(e){const t=v(e);if(t)return d.getChildCount(t)},readFileAsync:function(e,t){var n=v(e);n?n.getDataAsync(t):t(null,"getEntry failed for:"+e)},readAsText:function(e,t){var n=v(e);if(n){var r=n.getData();if(r&&r.length)return r.toString(t||"utf8")}return""},readAsTextAsync:function(e,t,n){var r=v(e);r?r.getDataAsync(function(e,r){r?t(e,r):e&&e.length?t(e.toString(n||"utf8")):t("")}):t("")},deleteFile:function(e,t=!0){var n=v(e);n&&d.deleteFile(n.entryName,t)},deleteEntry:function(e){var t=v(e);t&&d.deleteEntry(t.entryName)},addZipComment:function(e){d.comment=e},getZipComment:function(){return d.comment||""},addZipEntryComment:function(e,t){var n=v(e);n&&(n.comment=t)},getZipEntryComment:function(e){var t=v(e);return t&&t.comment||""},updateFile:function(e,t){var n=v(e);n&&n.setData(t)},addLocalFile:function(n,r,i,o){if(!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{r=r?y(r):"";const e=t.win32.basename(t.win32.normalize(n));r+=i||e;const s=f.fs.statSync(n),a=s.isFile()?f.fs.readFileSync(n):Buffer.alloc(0);s.isDirectory()&&(r+=f.sep),this.addFile(r,a,o,s)}},addLocalFileAsync:function(e,n){e="object"==typeof e?e:{localPath:e};const r=t.resolve(e.localPath),{comment:i}=e;let{zipPath:o,zipName:s}=e;const a=this;f.fs.stat(r,function(e,c){if(e)return n(e,!1);o=o?y(o):"";const l=t.win32.basename(t.win32.normalize(r));if(o+=s||l,c.isFile())f.fs.readFile(r,function(e,t){return e?n(e,!1):(a.addFile(o,t,i,c),setImmediate(n,void 0,!0))});else if(c.isDirectory())return o+=f.sep,a.addFile(o,Buffer.alloc(0),i,c),setImmediate(n,void 0,!0)})},addLocalFolder:function(n,r,i){if(i=E(i),r=r?y(r):"",n=t.normalize(n),!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{const e=f.findFiles(n),o=this;if(e.length)for(const s of e){const e=t.join(r,b(n,s));i(e)&&o.addLocalFile(s,t.dirname(e))}}},addLocalFolderAsync:function(n,r,i,o){o=E(o),i=i?y(i):"",n=t.normalize(n);var s=this;f.fs.open(n,"r",function(t){if(t&&"ENOENT"===t.code)r(void 0,e.Errors.FILE_NOT_FOUND(n));else if(t)r(void 0,t);else{var a=f.findFiles(n),c=-1,l=function(){if((c+=1)<a.length){var e=a[c],t=b(n,e).split("\\").join("/");t=t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),o(t)?f.fs.stat(e,function(n,o){n&&r(void 0,n),o.isFile()?f.fs.readFile(e,function(e,n){e?r(void 0,e):(s.addFile(i+t,n,"",o),l())}):(s.addFile(i+t+"/",Buffer.alloc(0),"",o),l())}):process.nextTick(()=>{l()})}else r(!0,void 0)};l()}})},addLocalFolderAsync2:function(n,r){const i=this;n="object"==typeof n?n:{localPath:n};const o=t.resolve(n.localPath);let{zipPath:s,filter:a,namefix:c}=n;var l;a instanceof RegExp?(l=a,a=function(e){return l.test(e)}):"function"!=typeof a&&(a=function(){return!0}),s=s?y(s):"","latin1"===c&&(c=e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),"function"!=typeof c&&(c=e=>e);const u=e=>t.join(s,c(b(o,e))),p=e=>t.win32.basename(t.win32.normalize(c(e)));f.fs.open(o,"r",function(n){n&&"ENOENT"===n.code?r(e.Errors.FILE_NOT_FOUND(o),!1):n?r(n,!1):f.findFilesAsync(o,function(e,n){return e?r(e,!1):(n=n.filter(e=>a(u(e)))).length?void setImmediate(n.reverse().reduce(function(e,n){return function(r,o){if(r||!1===o)return setImmediate(e,r,!1);i.addLocalFileAsync({localPath:n,zipPath:t.dirname(u(n)),zipName:p(n)},e)}},r)):r(void 0,!0)})})},addLocalFolderPromise:function(e,t){return new Promise((n,r)=>{this.addLocalFolderAsync2(Object.assign({localPath:e},t),(e,t)=>{if(e)return r(e);t&&n(this)})})},addFile:function(e,t,r,i){let o=v(e=g(e));const s=null!=o;s||(o=new n(u),o.entryName=e),o.comment=r||"";const a="object"==typeof i&&i instanceof f.fs.Stats;a&&(o.header.time=i.mtime);var c=o.isDirectory?16:0;let l=o.isDirectory?16384:32768;return l|=a?4095&i.mode:"number"==typeof i?4095&i:o.isDirectory?493:420,c=(c|l<<16)>>>0,o.attr=c,o.setData(t),s||d.setEntry(o),o},getEntries:function(e){return d.password=e,d?d.entries:[]},getEntry:function(e){return v(e)},getEntryCount:function(){return d.getEntryCount()},forEach:function(e){return d.forEach(e)},extractEntryTo:function(n,r,s,a,c,l){a=i(!1,a),c=i(!1,c),s=i(!0,s),l=o(c,l);var u=v(n);if(!u)throw e.Errors.NO_ENTRY();var p=h(u.entryName),g=m(r,l&&!u.isDirectory?h(l):s?p:t.basename(p));if(u.isDirectory)return d.getEntryChildren(u).forEach(function(t){if(t.isDirectory)return;var n=t.getData();if(!n)throw e.Errors.CANT_EXTRACT_FILE();var i=h(s?t.entryName:t.entryName.substring(u.entryName.length)),o=m(r,i);f.assertPathSafe(r,o);const l=c?t.header.fileAttr:void 0;f.writeFileTo(o,n,a,l)}),!0;var y=u.getData(d.password);if(!y)throw e.Errors.CANT_EXTRACT_FILE();if(f.assertPathSafe(r,g),f.fs.existsSync(g)&&!a)throw e.Errors.CANT_OVERRIDE();const E=c?n.header.fileAttr:void 0;return f.writeFileTo(g,y,a,E),!0},test:function(e){if(!d)return!1;for(var t of d.entries)try{if(t.isDirectory)continue;if(!t.getData(e))return!1}catch(e){return!1}return!0},extractAllTo:function(t,n,r,s){if(r=i(!1,r),s=o(r,s),n=i(!1,n),!d)throw e.Errors.NO_ZIP();const a=[];d.entries.forEach(function(i){var o=m(t,h(i.entryName));if(f.assertPathSafe(t,o),i.isDirectory)return f.makeDir(o),void(r&&a.push({path:o,attr:i.header.fileAttr}));var c=i.getData(s);if(!c)throw e.Errors.CANT_EXTRACT_FILE();const l=r?i.header.fileAttr:void 0;f.writeFileTo(o,c,n,l);try{f.fs.utimesSync(o,i.header.time,i.header.time)}catch(e){}}),p(a)},extractAllToAsync:function(n,r,o,s){if(s=((...t)=>e.findLast(t,e=>"function"==typeof e))(r,o,s),o=i(!1,o),r=i(!1,r),!s)return new Promise((e,t)=>{this.extractAllToAsync(n,r,o,function(n){n?t(n):e(this)})});if(!d)return void s(e.Errors.NO_ZIP());n=t.resolve(n);const a=e=>m(n,t.normalize(h(e.entryName))),c=(e,t)=>new Error(e+': "'+t+'"'),l=[],u=[];d.entries.forEach(e=>{e.isDirectory?l.push(e):u.push(e)});const g=[];for(const e of l){const t=a(e),r=o?e.header.fileAttr:void 0;try{f.assertPathSafe(n,t),f.makeDir(t)}catch(e){s(c("Unable to create folder",t));continue}r&&g.push({path:t,attr:r});try{f.fs.utimesSync(t,e.header.time,e.header.time)}catch(e){}}u.reverse().reduce(function(i,s){return function(a){if(a)i(a);else{const a=t.normalize(h(s.entryName)),l=m(n,a);try{f.assertPathSafe(n,l)}catch(e){return i(e)}s.getDataAsync(function(t,n){if(n)i(n);else if(t){const e=o?s.header.fileAttr:void 0;f.writeFileToAsync(l,t,r,e,function(e){if(!e)return i(c("Unable to write file",l));f.fs.utimes(l,s.header.time,s.header.time,function(){i()})})}else i(e.Errors.CANT_EXTRACT_FILE())})}}},e=>{if(!e)try{p(g)}catch(e){return s(c("Unable to set folder permissions",e.path||""))}s(e)})()},writeZip:function(e,t){if(1===arguments.length&&"function"==typeof e&&(t=e,e=""),!e&&u.filename&&(e=u.filename),e){var n=d.compressToBuffer();if(n){var r=f.writeFileTo(e,n,!0);"function"==typeof t&&t(r?null:new Error("failed"),"")}}},writeZipPromise:function(e,t){const{overwrite:n,perm:r}=Object.assign({overwrite:!0},t);return new Promise((t,i)=>{!e&&u.filename&&(e=u.filename),e||i("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(o=>{f.writeFileToAsync(e,o,n,r,e=>e?t(e):i("ADM-ZIP: Wasn't able to write zip file"))},i)})},toBufferPromise:function(){return new Promise((e,t)=>{d.toAsyncBuffer(e,t)})},toBuffer:function(e,t,n,r){return"function"==typeof e?(d.toAsyncBuffer(e,t,n,r),null):d.compressToBuffer()}}},fn}(),En=V(yn);const bn=[["B","kB","MB","GB","TB","PB","EB","ZB","YB"],["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"]],wn=e=>{if(e>=1e-6&&e<1e21)return String(e);const[t,n]=e.toExponential().split("e"),r=t.replace(".",""),i=Number(n)+1,o=i>0,s=o?r.padEnd(i,"0"):"0".repeat(1-i)+r,a=s.slice(0,o?i:1),c=s.slice(o?i:1).replace(/0+$/,"");return c?`${a}.${c}`:a},Ln=e=>{if("number"==typeof e)return Math.log10(e);const t=e.toString(10);return t.length+Math.log10(`0.${t.slice(0,15)}`)},In=(e,t)=>{if(void 0!==t&&("number"!=typeof t||!Number.isInteger(t)||t<0||t>100))throw new TypeError(`Expected ${e} to be an integer between 0 and 100, got ${typeof t}: ${t}`)};function Sn(e,t){if("bigint"!=typeof e&&!Number.isFinite(e))throw new TypeError(`Expected a finite number, got ${typeof e}: ${e}`);(e=>{if(void 0!==e&&("number"!=typeof e||!Number.isSafeInteger(e)||e<0))throw new TypeError(`Expected fixedWidth to be a non-negative integer, got ${typeof e}: ${e}`)})((t={bits:!1,binary:!1,space:!0,nonBreakingSpace:!1,...t}).fixedWidth);const n=(e=>{const{minimumFractionDigits:t,maximumFractionDigits:n}=e;if(void 0!==t||void 0!==n){if(In("minimumFractionDigits",t),In("maximumFractionDigits",n),t>n)throw new RangeError(`Expected minimumFractionDigits (${t}) to not be greater than maximumFractionDigits (${n})`);return{...void 0!==t&&{minimumFractionDigits:t},...void 0!==n&&{maximumFractionDigits:n},roundingMode:"trunc"}}})(t),r=bn[(t.bits?2:0)+(t.binary?1:0)],i=t.space?t.nonBreakingSpace?" ":" ":"";Object.is(e,-0)&&(e=0);const o=((e,t)=>e<0?"-":t?0===e||0n===e?" ":"+":"")(e,t.signed);e<0&&(e=-e);const s=t.binary?1024:1e3;let a=0;var c;e>=1&&(a=Math.min(Math.floor(t.binary?("number"==typeof(c=e)?Math.log(c):Ln(c)*Math.log(10))/Math.log(s):Ln(e)/3),r.length-1));const l=((e,t,n)=>{const r=t**n;if("number"==typeof e||e<=Number.MAX_SAFE_INTEGER)return Number(e)/r;const i=BigInt(t)**BigInt(n),o=e%i;return Number(e/i)+Number(o)/r})(e,s,a);let u;if(Number.isFinite(l)){if((e=l)<1&&a>0&&(e*=s,a-=1),!n){const t=Math.max(3,Math.floor(e).toString().length);(e=Number(e.toPrecision(t)))>=s&&a<r.length-1&&(e/=s,a+=1)}u=((e,t,n)=>{if("string"==typeof t||Array.isArray(t)||!0===t){const r=!0===t?void 0:t;if(void 0!==n)return e.toLocaleString(r,n);const i=wn(e),o=i.indexOf("."),s=-1===o?0:i.length-o-1;return s>100?i:e.toLocaleString(r,{maximumFractionDigits:s})}return void 0===n?wn(e):e.toLocaleString("en-US",{...n,useGrouping:!1})})(e,t.locale,n)}else u=((e,t,n,r)=>{const i=BigInt(t)**BigInt(n),o=e/i;if(void 0===r)return o.toString();const s=r.minimumFractionDigits??0,a=Math.max(r.maximumFractionDigits??3,s),c=(e%i*10n**BigInt(a)/i).toString().padStart(a,"0").replace(/0+$/,"").padEnd(s,"0");return c?`${o}.${c}`:o.toString()})(e,s,a,n);return(o+u+i+r[a]).padStart(t.fixedWidth??0)}const Cn=e=>"string"==typeof e?Cn(E(e).size):i.yellowBright(Sn(e));class _n{#ne;get ora(){return this.#ne}set attachConsole(e){e?(console.log=this.info.bind(this),console.info=this.info.bind(this)):console=Nn}static Global(e){return Dn=new _n(e),Dn}static Clone(e){const{prefixText:t}=e||Dn;return new _n({prefixText:t})}static get Current(){return Dn}static set Current(e){Dn=e}constructor(e){this.#ne=j(e)}get prefixText(){return this.#ne.prefixText}info(...e){this.#ne.info(Pn(e))}succeed(...e){this.#ne.succeed(Pn(e))}start(...e){this.#ne.start(Pn(e))}fail(...e){this.#ne.fail(Pn(e))}warn(...e){this.#ne.warn(Pn(e))}clear(){this.#ne.clear()}stop(){this.#ne.stop()}stopAndPersist(...e){this.#ne.stopAndPersist(...e)}}let Dn=new _n;const Pn=e=>e.length?e.join(" "):void 0,Nn=console;class On{spinner;debugMode;constructor(e,t){this.spinner=new _n({prefixText:e}),this.debugMode=t?.debug??!1}start(...e){this.spinner.start(...e)}succeed(...e){this.spinner.succeed(...e)}fail(...e){this.spinner.fail(...e)}error(...e){console.log(...e)}warn(...e){this.spinner.warn(...e)}info(...e){this.spinner.info(...e)}log(...e){this.spinner.info(...e)}debug(...e){this.debugMode&&console.debug(...e)}startNativeConsoleCapture(){this.spinner.attachConsole=!0}stopNativeConsoleCapture(){this.spinner.attachConsole=!1}}const An=e=>{const t=e.mock??e.mockDiscovery,n={spa:{templateEnv:(r=e.template,i=e.mock,{portal:{id:"@equinor/fusion-framework-dev-portal"},title:"Fusion Dev Portal",serviceDiscovery:{url:"/@fusion-services",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},msal:{clientId:"9b707e3a-3e90-41ed-a47e-652a1e3b53d0",tenantId:"3aa4a235-b6e2-48d5-9195-7fcf05b459b0",redirectUri:"/authentication/login-callback",requiresAuth:"true",...i?{mock:"true",mockServerUrl:i}:{}},serviceWorker:{resources:[{url:"/apps-proxy",rewrite:"/@fusion-api/apps",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/@fusion-api/apps",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/help-proxy",rewrite:"/@fusion-api/help",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/portal-proxy",rewrite:"/@fusion-api/portal-config",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/@fusion-api/portal-config",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]}]},...r})},api:{serviceDiscoveryUrl:t?new URL("/@fusion-mock/discovery",t).href:"https://discovery.fusion.equinor.com/service-registry/environments/ci/services/",headers:{"X-Fusion-Mock":String(Boolean(t))},processServices:(e,t)=>{const{data:n,routes:r}=H(e,t);return{data:n.concat({key:"portals",name:"Portal Service - MOCK",uri:"/@fusion-api/portals"}),routes:r}}}};var r,i;return e.app&&((e,t,n)=>{const{build:r,appKey:i}=t;if(!r)throw new Error("App manifest does not contain build information");e.api.routes??=[],e.api.routes.push({match:[`/apps/bundles/apps/${i}/${r.version}/*path`,`/apps/bundles/apps/${i}@${r.version}/*path`],middleware:async(e,t,n)=>{const r=e.params?.path;!1===Array.isArray(r)&&n(),t.writeHead(302,{"content-type":"application/javascript",location:`/${r.join("/")}`}),t.end()}}),e.api.routes.push({match:`/apps/persons/me/apps/${i}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify({id:"dev-server-generated-id",...t}))}}),e.api.routes.push({match:`/apps/apps/${i}/builds/${r.version}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(n,e.app.manifest,e.app.config),e.portal&&((e,t,n)=>{e.api.routes??=[];const r="portal-config";e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify(t))}}),n&&e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(n,e.portal.manifest,e.portal.config),n},Rn=e=>({portal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.portal:void 0,msal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.msal:void 0,proxy:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.serviceWorker?.resources:void 0,serviceDiscoveryUrl:e.api.serviceDiscoveryUrl,routes:e.api.routes});const $n=async(e,t,n)=>{const{overrides:i,log:o}=n??{},s=t.mock?void 0:function(e,t){const n=e.root??process.cwd(),i=r(e.mode,t?a(n,t):n,"FUSION_SPA_MSAL_MOCK");if("true"===i.FUSION_SPA_MSAL_MOCK)return i.FUSION_SPA_MSAL_MOCK_SERVER_URL||"http://localhost:4010"}(e,"string"==typeof i?.envDir?i.envDir:void 0);s&&o?.info(`FUSION_SPA_MSAL_MOCK is enabled, using mock service discovery at ${s}`);const c=An({...t,mockDiscovery:t.mockDiscovery??s});o?.debug("\nBase dev server config:",Rn(c)),o?.debug("\nCreating dev server with overrides:",i);let l,u=c;try{const t=await(async(e,t,n)=>I("dev-server.config",{baseDir:e.root,extensions:n?.extensions,script:{resolve:async n=>{let r;if("function"==typeof n.default){const i={...t};r=await n.default(e,{base:i})}else r=n.default;return ut(t,r??{})}}}))(e,c);u=t.config;const{path:n}=t;o?.debug(`\nLoaded dev server config from ${n}`),o?.debug("\nLoaded dev server config:",Rn(u)),l=((e,t)=>({name:"fusion:dev-server-config-watcher",configureServer(n){n.watcher.add(e),n.watcher.on("change",r=>{r===e&&(t?.info(`\n${e} changed, restarting dev server...`),n.restart())}),t?.debug(`Watching dev-server.config.ts at: ${e}`)}}))(n,o)}catch(e){o?.warn("\nFailed to load dev server config:",e instanceof Error?e.message:String(e))}const f=t.mock??t.mockDiscovery??s;if(f&&new URL(u.api.serviceDiscoveryUrl).origin!==new URL(f).origin)throw new Error(`Mock mode is enabled (${f}), but service discovery points at ${u.api.serviceDiscoveryUrl}. Remove the api.serviceDiscoveryUrl override from dev-server.config, or run without mock auth.`);const p=l?{...i,plugins:[...i?.plugins??[],l]}:i;return z(u,p)},Tn="fusion-framework-cli",xn={"X-Fusion-CLI-Name":Tn,"X-Fusion-CLI-Version":vt,"User-Agent":`${Tn}/${vt}`},Un=e=>{const t=new Headers(e.headers);for(const[e,n]of Object.entries(xn))t.has(e)||t.set(e,n);return{...e,headers:t}},Fn={AUTH_DOCS_URL:"https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md",APP_DOCS_URL:"https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md"};function kn(){if(process.env.FUSION_TOKEN)return[i.bold("ðĄ FUSION_TOKEN detected"),i.dim(" The CLI is using this token instead of your interactive login session."),i.dim(" If this is unintended, unset the variable and retry, or verify that the token has the correct scope/audience.")].join("\n")}const{AUTH_DOCS_URL:Bn,APP_DOCS_URL:Mn}=Fn;function Gn(e,t){switch(e){case 401:return function(e){const t=["",i.redBright(`ðŦ Authentication failed: unable to ${e}`),""," No valid token was provided or the token has expired.",""],n=kn();return n&&t.push(n,""),t.push(i.whiteBright(" Troubleshooting:"),"",` ${i.cyan("1.")} For CI/CD, verify that ${i.bold("FUSION_TOKEN")} is set and the token has not expired.`,` ${i.cyan("2.")} For local development, run ${i.greenBright.bold("ffc auth login")} to refresh your credentials.`,` ${i.cyan("3.")} Verify that ${i.bold("--scope")} targets the correct API audience for your environment.`,"",` ${i.dim("Auth docs:")} ${i.blueBright.underline(Bn)}`,` ${i.dim("Publish docs:")} ${i.blueBright.underline(Mn)}`,""),t.join("\n")}(t);case 403:return function(e){const t=["",i.redBright(`ðŦ Authorization failed: not permitted to ${e}`),"","â ïļ Your token is valid but does not have the required permissions for this operation.",""],n=kn();return n&&t.push(n,""),t.push(i.whiteBright(" Troubleshooting:"),"",` ${i.cyan("1.")} Verify that your user or service principal has publish permissions for this application.`,` ${i.cyan("2.")} Check that the token's ${i.bold("scope / audience")} matches the target environment.`,` ${i.cyan("3.")} Confirm that the application is registered and your account has the correct role assignment.`,"",` ${i.dim("Auth docs:")} ${i.blueBright.underline(Bn)}`,` ${i.dim("Publish docs:")} ${i.blueBright.underline(Mn)}`,""),t.join("\n")}(t);default:return}}const{AUTH_DOCS_URL:jn,APP_DOCS_URL:Hn}=Fn;function zn(e,t){if(!(e instanceof Error))return;const n="SilentTokenAcquisitionError"===e.name,r=e,o=r.response?r.response.status:void 0,s=401===o||403===o;let a=!1,c=e.cause;for(let e=0;e<5&&c&&c instanceof Error;e++){if("SilentTokenAcquisitionError"===c.name){a=!0;break}c=c.cause}if(!n&&!s&&!a)return;if(s&&!n&&!a)return Gn(o,t);const l=function(e){let t=e;for(let e=0;e<5&&t;e++){if(!(t instanceof Error)){if("object"==typeof t&&"errorMessage"in t){const e=t.errorMessage;if("string"==typeof e){const t=e.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return t?.[1]?.trim()??e.split(" - ")[0]?.trim()}break}break}{const e=t;if("string"==typeof e.errorMessage){const t=e.errorMessage,n=t.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return n?.[1]?.trim()??t.split(" - ")[0]?.trim()}t=t.cause}}}(e),u=["",i.redBright(`ð Token acquisition failed: unable to ${t}`),"",i.yellow(`â ïļ ${l??"The CLI could not silently acquire an access token for this operation."}`),""],f=kn();return f&&u.push(f,""),u.push(i.whiteBright(" Troubleshooting:"),"",` ${i.cyan("1.")} Run ${i.greenBright.bold("ffc auth login")} to refresh your local credentials.`,` ${i.cyan("2.")} For CI/CD, set a fresh ${i.bold("FUSION_TOKEN")} â cached refresh tokens may have expired.`,` ${i.cyan("3.")} Verify that ${i.bold("--scope")} targets the correct API audience for your environment.`,"",` ${i.dim("Auth docs:")} ${i.blueBright.underline(jn)}`,` ${i.dim("Publish docs:")} ${i.blueBright.underline(Hn)}`,""),u.join("\n")}const qn=(e,t,n)=>{const r=s(String(e));b(r)||w(r,{recursive:!0}),L(e,t,n)},Vn=["package.json","LICENSE.md","README.md","CHANGELOG.md"],Wn=async(e,t)=>{const{archive:n,log:r}=t??{},o=s(e.path),c=t?.buildDir??"dist",l=a(o,c);if(!(await M(l)).isDirectory())throw new Error(`Build directory ${c} does not exist`);r?.log(i.bold("Starting to pack bundle"));const u=new En;if(u.addLocalFolder(l,c),t?.content)for(const[e,n]of Object.entries(t.content))u.addFile(e,Buffer.from(n)),r?.info("ð",St(e,{relative:!0}));r?.info("ð",St(l,{relative:!0}));for(const t of Vn.concat(e.packageJson.files??[])){const e=a(o,t),n=s(e.replace(o,""));at(e)?(u.addLocalFile(e,n),r?.info("ð",St(e,{relative:!0}))):r?.warn(i.dim("ð",St(e,{relative:!0})))}return n&&(at(s(n))||await G(s(n),{recursive:!0}),r?.start("compressing content"),await u.writeZipPromise(n),r?.succeed("ð",St(n,{relative:!0}),Cn(n))),u},Zn=async e=>{const{log:t,manifest:n,snapshot:r}=e;process.env.NODE_ENV,process.cwd();const{pkg:i,manifest:o}=await Pt({log:t,manifest:n,snapshot:r});if(!o.build)throw new Error("Manifest build config not found");return{archive:await Wn(i,{log:t,archive:e?.archive,content:{"app-manifest.json":JSON.stringify(o.build,null,2),"metadata.json":JSON.stringify({appKey:o.appKey,name:o.appKey,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o}},Kn=async(e,t)=>{const{log:n}=t;try{n?.start("create application configuration"),n?.info(`generating config with ${i.red.dim(e.command)} command in ${i.green.dim(e.mode)} mode`);const r=await((e,t)=>{const n=t?.file??[`app.config.${e.environment}`,"app.config"];return I(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{environment:{}};if("function"==typeof n.default){const t=await n.default(e,{base:r})??r;return It.parse(t??r)}return It.parse(n.default??r)}}})})(e,{file:t?.config});return n?.succeed("âïļ generated config from ",St(r.path,{relative:!0})),r.config}catch(e){if(e instanceof S){if(!t.config)return n?.succeed(i.dim("âïļ no local application config applied, using built-in")),{environment:{},endpoints:{}};n?.warn(`failed to load config file ${St(t.config)}, please check the path.`)}throw n?.fail("failed to resolve application config"),n?.debug(e),e}},Yn=async e=>{const{log:t}=e??{};let n;try{t?.start("resolve project package"),n=await _t(null),t?.succeed("ðĶ",i.yellowBright([n.packageJson.name,n.packageJson.version].join("@"))),t?.info("ð ",i.blueBright(n.root))}catch{t?.info("Failed to resolve project package, using current directory as root")}const r=n?.root??process.cwd(),o={command:"build",mode:process.env.NODE_ENV??"production",root:r,...e?.env},s=await Kn(o,{log:t,config:e?.config});if(t?.debug("config:",s),e?.output){t?.start("writing config to file");try{await qn(e.output,JSON.stringify(s,null,2)),t?.succeed("config written successfully",St(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:s,pkg:n}};class Xn extends Error{response;static Name="HttpResponseError";constructor(e,t,n){super(e,n),this.response=t}}class Jn extends Xn{static Name="HttpJsonResponseError";data;constructor(e,t,n){super(e,t,n),this.name=Jn.Name,this.data=n?.data}}class Qn extends Xn{static Name="ServerSentEventResponseError";constructor(e,t,n){super(e,t,n),this.name=Qn.Name}}class er extends Error{}const tr=async e=>{const{log:t,config:n,appKey:r,buildVersion:i,framework:o}=e;try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("ð","Executing request to:",St(e.uri))}),t?.start("Publishing application config");const s=await e.json(`/apps/${r}/builds/${i}/config`,{method:"PUT",body:n,headers:xn});t?.debug("Response:",s),t?.succeed("Published application config")}catch(e){if(e instanceof Jn)switch(e.response.status){case 410:t?.fail("ðĪŽ",`App ${r} is deleted from apps-service. Please check the app key and try again.`);break;case 404:t?.fail("ðĪŽ",`App ${r} not found. Please check the app key and try again.`);break;case 403:case 401:{const n=Gn(e.response.status,`publish config for ${r}`);t?.fail("ð","Authentication/authorization error publishing app config."),n&&t?.error(n),process.exit(1);break}default:t?.fail("ðĪŽ","Failed to publish application config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const n=zn(e,`publish config for ${r}`);n&&(t?.fail("ð",`Token acquisition failed publishing config for ${r}`),t?.error(n),process.exit(1)),t?.fail("ðĪŽ","Failed to publish app config:",e instanceof Error?e.message:String(e)),process.exit(1)}},nr=async e=>{const{log:n}=e??{},r="@equinor/fusion-framework-dev-portal",i=await _t(n),o={root:i.root,environment:"local",...e?.env,mode:"development",command:"serve"},a=await Ct(o,i,{log:n,manifestPath:e?.manifest}),c=await Kn(o,{log:n,config:e?.config});let l,u;const p=d(import.meta.resolve(r));at(p)?(l=p,u=await f({cwd:p}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${r} is external, skipping entry point resolution`);const h=await ft(o,i),m=u?[i.root,u]:[i.root];n?.debug(`File system access allowed for: \n${m.join("\n")}\n`);const g=t(h,{server:{port:e?.port||3e3,host:e?.host||h.server?.host||"localhost",fs:{allow:m}}}),v={template:{portal:{id:r}},app:{manifest:a,config:c},mock:e?.mock};l&&(v.portal={manifest:{name:r,build:{templateEntry:l,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",g),n?.debug("dev server config:",v),n?.start("Starting app development server...");const y=await $n(o,v,{overrides:g,log:n});await y.listen(),n?.succeed("App development server started successfully");const E=y.config.server.https?"https":"http",b=y.config.server.host||"localhost",w=y.config.server.port||5173;return n?.info(`App development server is running at: ${E}://${b}:${w}/apps/${a.appKey}`),y},rr=async e=>{const{log:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve application");const c="@equinor/fusion-framework-dev-portal",l=await _t(n);n?.start("Loading Vite config...");const u=await ft({root:l.root,command:"build",mode:"production"},l);n?.succeed("Vite config loaded");const p=r||(u.build?.outDir||"dist"),h=a(l.root,p),m={root:l.root,environment:"local",mode:"production",command:"serve",isPreview:!0},g=await Ct(m,l,{log:n,manifestPath:e?.manifest}),v=await Kn(m,{log:n,config:e?.config});if(n?.debug("Output directory:",h),!b(h))throw new Error(`Build directory does not exist: ${h}\nPlease build the application first using \`ffc app build\``);let y,E;const w=d(import.meta.resolve(c));at(w)?(y=w,E=await f({cwd:w}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${c} is external, skipping entry point resolution`);const L=await ft(m,l),I=E?[l.root,E,h]:[l.root,h];n?.debug(`File system access allowed for: \n${I.join("\n")}\n`);const S=t(L,{server:{port:i,host:o||L.server?.host||"localhost",fs:{allow:I}}}),C={template:{portal:{id:c}},app:{manifest:g,config:v},mock:e?.mock};y&&(C.portal={manifest:{name:c,build:{templateEntry:y,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",S),n?.debug("dev server config:",C),n?.start("Starting preview server with dev-portal...");try{const e=await $n(m,C,{overrides:S,log:n});await e.listen(),n?.succeed("Preview server started successfully");const t=e.config.server?.https?"https":"http",r=e.config.server?.host||o,s=e.config.server?.port||i;return n?.info(`Preview server is running at: ${t}://${r}:${s}`),g.appKey&&n?.info(`App URL: ${t}://${r}:${s}/apps/${g.appKey}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}};class ir extends A{satisfies(e){return R(this,e)}}var or=function(e,t){return or=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},or(e,t)};function sr(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}or(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var ar=function(){return ar=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},ar.apply(this,arguments)};function cr(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,a)}c((r=r.apply(e,t||[])).next())})}function lr(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function ur(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function fr(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function pr(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function dr(e){return this instanceof dr?(this.v=e,this):new dr(e)}function hr(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",function(e){return function(t){return Promise.resolve(t).then(e,l)}}),r[Symbol.asyncIterator]=function(){return this},r;function s(e,t){i[e]&&(r[e]=function(t){return new Promise(function(n,r){o.push([e,t,n,r])>1||a(e,t)})},t&&(r[e]=t(r[e])))}function a(e,t){try{(n=i[e](t)).value instanceof dr?Promise.resolve(n.value.v).then(c,l):u(o[0][2],n)}catch(e){u(o[0][3],e)}var n}function c(e){a("next",e)}function l(e){a("throw",e)}function u(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function mr(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=ur(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,i){(function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)})(r,i,(t=e[n](t)).done,t.value)})}}}function gr(e){return"function"==typeof e}function vr(e){var t=e(function(e){Error.call(e),e.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}"function"==typeof SuppressedError&&SuppressedError;var yr=vr(function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}});function Er(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var br=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}var t;return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=ur(o),a=s.next();!a.done;a=s.next()){a.value.remove(this)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(gr(c))try{c()}catch(e){i=e instanceof yr?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=ur(l),f=u.next();!f.done;f=u.next()){var p=f.value;try{Ir(p)}catch(e){i=null!=i?i:[],e instanceof yr?i=pr(pr([],fr(i)),fr(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new yr(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)Ir(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&Er(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&Er(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=((t=new e).closed=!0,t),e}(),wr=br.EMPTY;function Lr(e){return e instanceof br||e&&"closed"in e&&gr(e.remove)&&gr(e.add)&&gr(e.unsubscribe)}function Ir(e){gr(e)?e():e.unsubscribe()}var Sr={Promise:void 0},Cr=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,pr([e,t],fr(n)))};function _r(e){Cr(function(){throw e})}function Dr(){}function Pr(e){e()}var Nr=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,Lr(t)&&t.add(n)):n.destination=$r,n}return sr(t,e),t.create=function(e,t,n){return new Ar(e,t,n)},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(br),Or=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){Rr(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){Rr(e)}else Rr(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){Rr(e)}},e}(),Ar=function(e){function t(t,n,r){var i,o=e.call(this)||this;return i=gr(t)||!t?{next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:t,o.destination=new Or(i),o}return sr(t,e),t}(Nr);function Rr(e){_r(e)}var $r={closed:!0,next:Dr,error:function(e){throw e},complete:Dr},Tr="function"==typeof Symbol&&Symbol.observable||"@@observable";function xr(e){return e}var Ur=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r,i=this,o=(r=e)&&r instanceof Nr||function(e){return e&&gr(e.next)&&gr(e.error)&&gr(e.complete)}(r)&&Lr(r)?e:new Ar(e,t,n);return Pr(function(){var e=i,t=e.operator,n=e.source;o.add(t?t.call(o,n):n?i._subscribe(o):i._trySubscribe(o))}),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=Fr(t))(function(t,r){var i=new Ar({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[Tr]=function(){return this},e.prototype.pipe=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(0===(e=t).length?xr:1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)})(this)},e.prototype.toPromise=function(e){var t=this;return new(e=Fr(e))(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function Fr(e){var t;return null!==(t=null!=e?e:Sr.Promise)&&void 0!==t?t:Promise}function kr(e){return function(t){if(function(e){return gr(null==e?void 0:e.lift)}(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw new TypeError("Unable to lift unknown Observable type")}}function Br(e,t,n,r,i){return new Mr(e,t,n,r,i)}var Mr=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,a._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,a._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,a}return sr(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Nr),Gr=vr(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),jr=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return sr(t,e),t.prototype.lift=function(e){var t=new Hr(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new Gr},t.prototype.next=function(e){var t=this;Pr(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=ur(t.currentObservers),o=i.next();!o.done;o=i.next()){o.value.next(e)}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;Pr(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;Pr(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,o=n.observers;return r||i?wr:(this.currentObservers=null,o.push(e),new br(function(){t.currentObservers=null,Er(o,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new Ur;return e.source=this,e},t.create=function(e,t){return new Hr(e,t)},t}(Ur),Hr=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return sr(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:wr},t}(jr),zr=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return sr(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(jr),qr={now:function(){return(qr.delegate||Date).now()},delegate:void 0},Vr=function(e){function t(t,n,r){void 0===t&&(t=1/0),void 0===n&&(n=1/0),void 0===r&&(r=qr);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return sr(t,e),t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,s=n._timestampProvider,a=n._windowTime;r||(i.push(t),!o&&i.push(s.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!e.closed;i+=n?1:2)e.next(r[i]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,o=(i?1:2)*t;if(t<1/0&&o<r.length&&r.splice(0,r.length-o),!i){for(var s=n.now(),a=0,c=1;c<r.length&&r[c]<=s;c+=2)a=c;a&&r.splice(0,a+1)}},t}(jr),Wr=function(e){function t(t,n){return e.call(this)||this}return sr(t,e),t.prototype.schedule=function(e,t){return this},t}(br),Zr=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,pr([e,t],fr(n)))},Kr=function(e){return clearInterval(e)},Yr=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return sr(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),Zr(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&Kr(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Er(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Wr),Xr=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=qr.now,e}(),Jr=function(e){function t(t,n){void 0===n&&(n=Xr.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return sr(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(Xr),Qr=new Jr(Yr),ei=Qr,ti=new Ur(function(e){return e.complete()});function ni(e){return e&&gr(e.schedule)}function ri(e){return e[e.length-1]}var ii=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function oi(e){return gr(null==e?void 0:e.then)}function si(e){return gr(e[Tr])}function ai(e){return Symbol.asyncIterator&&gr(null==e?void 0:e[Symbol.asyncIterator])}function ci(e){return new TypeError("You provided "+(null!==e&&"object"==typeof e?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var li="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function ui(e){return gr(null==e?void 0:e[li])}function fi(e){return hr(this,arguments,function(){var t,n,r;return lr(this,function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,dr(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,dr(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,dr(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function pi(e){return gr(null==e?void 0:e.getReader)}function di(e){if(e instanceof Ur)return e;if(null!=e){if(si(e))return i=e,new Ur(function(e){var t=i[Tr]();if(gr(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(ii(e))return r=e,new Ur(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()});if(oi(e))return n=e,new Ur(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,_r)});if(ai(e))return hi(e);if(ui(e))return t=e,new Ur(function(e){var n,r;try{for(var i=ur(t),o=i.next();!o.done;o=i.next()){var s=o.value;if(e.next(s),e.closed)return}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()});if(pi(e))return hi(fi(e))}var t,n,r,i;throw ci(e)}function hi(e){return new Ur(function(t){(function(e,t){var n,r,i,o;return cr(this,void 0,void 0,function(){var s,a;return lr(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=mr(e),c.label=1;case 1:return[4,n.next()];case 2:if((r=c.sent()).done)return[3,4];if(s=r.value,t.next(s),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),i={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})})(e,t).catch(function(e){return t.error(e)})})}function mi(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function gi(e,t){return void 0===t&&(t=0),kr(function(n,r){n.subscribe(Br(r,function(n){return mi(r,e,function(){return r.next(n)},t)},function(){return mi(r,e,function(){return r.complete()},t)},function(n){return mi(r,e,function(){return r.error(n)},t)}))})}function vi(e,t){return void 0===t&&(t=0),kr(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function yi(e,t){if(!e)throw new Error("Iterable cannot be null");return new Ur(function(n){mi(n,t,function(){var r=e[Symbol.asyncIterator]();mi(n,t,function(){r.next().then(function(e){e.done?n.complete():n.next(e.value)})},0,!0)})})}function Ei(e,t){if(null!=e){if(si(e))return function(e,t){return di(e).pipe(vi(t),gi(t))}(e,t);if(ii(e))return function(e,t){return new Ur(function(n){var r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}(e,t);if(oi(e))return function(e,t){return di(e).pipe(vi(t),gi(t))}(e,t);if(ai(e))return yi(e,t);if(ui(e))return function(e,t){return new Ur(function(n){var r;return mi(n,t,function(){r=e[li](),mi(n,t,function(){var e,t,i;try{t=(e=r.next()).value,i=e.done}catch(e){return void n.error(e)}i?n.complete():n.next(t)},0,!0)}),function(){return gr(null==r?void 0:r.return)&&r.return()}})}(e,t);if(pi(e))return function(e,t){return yi(fi(e),t)}(e,t)}throw ci(e)}function bi(e,t){return t?Ei(e,t):di(e)}function wi(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=function(e){return ni(ri(e))?e.pop():void 0}(e);return bi(e,n)}var Li=vr(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function Ii(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o,s=!1;e.subscribe({next:function(e){o=e,s=!0},error:i,complete:function(){s?r(o):n?r(t.defaultValue):i(new Li)}})})}function Si(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o=new Ar({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Li)}});e.subscribe(o)})}function Ci(e){return e instanceof Date&&!isNaN(e)}var _i=vr(function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function Di(e){throw new _i(e)}function Pi(e,t){return kr(function(n,r){var i=0;n.subscribe(Br(r,function(n){r.next(e.call(t,n,i++))}))})}var Ni=Array.isArray;function Oi(e){return Pi(function(t){return function(e,t){return Ni(t)?e.apply(void 0,pr([],fr(t))):e(t)}(e,t)})}function Ai(e,t,n,r,i,o,s,a){var c=[],l=0,u=0,f=!1,p=function(){!f||c.length||l||t.complete()},d=function(e){return l<r?h(e):c.push(e)},h=function(e){o&&t.next(e),l++;var a=!1;di(n(e,u++)).subscribe(Br(t,function(e){null==i||i(e),o?d(e):t.next(e)},function(){a=!0},void 0,function(){if(a)try{l--;for(var e=function(){var e=c.shift();s||h(e)};c.length&&l<r;)e();p()}catch(e){t.error(e)}}))};return e.subscribe(Br(t,d,function(){f=!0,p()})),function(){null==a||a()}}function Ri(e,t,n){return void 0===n&&(n=1/0),gr(t)?Ri(function(n,r){return Pi(function(e,i){return t(n,e,r,i)})(di(e(n,r)))},n):("number"==typeof t&&(n=t),kr(function(t,r){return Ai(t,r,e,n)}))}var $i=["addListener","removeListener"],Ti=["addEventListener","removeEventListener"],xi=["on","off"];function Ui(e,t,n,r){if(gr(n)&&(r=n,n=void 0),r)return Ui(e,t,n).pipe(Oi(r));var i=fr(function(e){return gr(e.addEventListener)&&gr(e.removeEventListener)}(e)?Ti.map(function(r){return function(i){return e[r](t,i,n)}}):function(e){return gr(e.addListener)&&gr(e.removeListener)}(e)?$i.map(Fi(e,t)):function(e){return gr(e.on)&&gr(e.off)}(e)?xi.map(Fi(e,t)):[],2),o=i[0],s=i[1];if(!o&&ii(e))return Ri(function(e){return Ui(e,t,n)})(di(e));if(!o)throw new TypeError("Invalid event target");return new Ur(function(e){var t=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1<t.length?t:t[0])};return o(t),function(){return s(t)}})}function Fi(e,t){return function(n){return function(r){return e[n](t,r)}}}function ki(e,t,n){void 0===e&&(e=0),void 0===n&&(n=ei);var r=-1;return null!=t&&(ni(t)?n=t:r=t),new Ur(function(t){var i=Ci(e)?+e-n.now():e;i<0&&(i=0);var o=0;return n.schedule(function(){t.closed||(t.next(o++),0<=r?this.schedule(void 0,r):t.complete())},i)})}function Bi(e,t){return kr(function(n,r){var i=0;n.subscribe(Br(r,function(n){return e.call(t,n,i++)&&r.next(n)}))})}function Mi(e){return kr(function(t,n){var r,i=null,o=!1;i=t.subscribe(Br(n,void 0,void 0,function(s){r=di(e(s,Mi(e)(t))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(n))})}function Gi(e,t,n,r,i){return function(o,s){var a=n,c=t,l=0;o.subscribe(Br(s,function(t){var n=l++;c=a?e(c,t,n):(a=!0,t),r&&s.next(c)},i&&function(){a&&s.next(c),s.complete()}))}}function ji(e,t){return kr(Gi(e,t,arguments.length>=2,!1,!0))}function Hi(e){return kr(function(t,n){var r=!1;t.subscribe(Br(n,function(e){r=!0,n.next(e)},function(){r||n.next(e),n.complete()}))})}function zi(e,t){return void 0===t&&(t=xr),e=null!=e?e:qi,kr(function(n,r){var i,o=!0;n.subscribe(Br(r,function(n){var s=t(n);!o&&e(i,s)||(o=!1,i=s,r.next(n))}))})}function qi(e,t){return e===t}function Vi(e){return void 0===e&&(e=Wi),kr(function(t,n){var r=!1;t.subscribe(Br(n,function(e){r=!0,n.next(e)},function(){return r?n.complete():n.error(e())}))})}function Wi(){return new Li}function Zi(e){return kr(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function Ki(e,t){var n=arguments.length>=2;return function(e){return e.pipe(xr,(r=1)<=0?function(){return ti}:kr(function(e,t){var n=[];e.subscribe(Br(t,function(e){n.push(e),r<n.length&&n.shift()},function(){var e,r;try{for(var i=ur(n),o=i.next();!o.done;o=i.next()){var s=o.value;t.next(s)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}t.complete()},void 0,function(){n=null}))}),n?Hi(t):Vi(function(){return new Li}));var r}}function Yi(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var i=new Ar({next:function(){i.unsubscribe(),e()}});return di(t.apply(void 0,pr([],fr(n)))).subscribe(i)}}else e()}function Xi(e,t){return kr(function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(Br(r,function(n){null==i||i.unsubscribe();var s=0,c=o++;di(e(n,c)).subscribe(i=Br(r,function(e){return r.next(t?t(n,e,c,s++):e)},function(){i=null,a()}))},function(){s=!0,a()}))})}function Ji(e){return kr(function(t,n){di(e).subscribe(Br(n,function(){return n.complete()},Dr)),!n.closed&&t.subscribe(n)})}function Qi(e,t,n){var r=gr(e)||t||n?{next:e,error:t,complete:n}:e;return r?kr(function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;e.subscribe(Br(t,function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)},function(){var e;i=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()},function(e){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)},function(){var e,t;i&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)}))}):xr}function eo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r=gr(ri(n=e))?n.pop():void 0;return kr(function(t,n){for(var i=e.length,o=new Array(i),s=e.map(function(){return!1}),a=!1,c=function(t){di(e[t]).subscribe(Br(n,function(e){o[t]=e,a||s[t]||(s[t]=!0,(a=s.every(xr))&&(s=null))},Dr))},l=0;l<i;l++)c(l);t.subscribe(Br(n,function(e){if(a){var t=pr([e],fr(o));n.next(r?r.apply(void 0,pr([],fr(t))):t)}}))})}const to=(e,t,n)=>{const r="string"==typeof t?t.split("."):t,i=r.shift();return i&&(e[i]??={},r.length?to(e[i],r,n):Object.assign(e,{[i]:n})),e};class no{#re={};createConfig(e,t){return bi(this._createConfig(e,t))}async createConfigAsync(e,t){return Ii(this.createConfig(e,t))}_set(e,t){const n="function"==typeof t?t:async()=>t;this.#re[e]=n}_get(e){return this.#re[e]}_has(e){return e in this.#re}_createConfig(e,t){return bi(this._buildConfig(e,t)).pipe(Xi(t=>this._processConfig(t,e)))}_buildConfig(e,t){return bi(Object.entries(this.#re)).pipe(Ri(([t,n])=>bi(n(e)).pipe(Bi(e=>void 0!==e),Pi(e=>({target:t,value:e})),Mi(e=>(console.error(`Failed to execute config callback: ${n.name} for attribute: '${t}'`,e),ti)))),ji((e,{target:t,value:n})=>to(e,t,n),t??{}))}_processConfig(e,t){return wi(e)}}class ro extends Error{constructor(){super("Module initialization timed out"),this.name="RequiredModuleTimeoutError"}}const io="ModuleConfigurator",oo={ModuleConfigAdded:`${io}.module.configAdded`,OnConfiguredAdded:`${io}.onConfigured.added`,OnInitializedAdded:`${io}.onInitialized.added`,PluginAdded:`${io}.plugin.added`,InitializeConfigLoaded:`${io}.config.loaded`,InitializeInstanceInitialized:`${io}.instance.initialized`,Initialize:`${io}.initialize.complete`,ConfiguratorCreated:`${io}.configurator.created`,ConfiguratorFailed:`${io}.configurator.failed`,ModulePostConfigured:`${io}.module.postConfigured`,ModulePostConfigureError:`${io}.module.postConfigureError`,PostConfigureHooks:`${io}.postConfigureHooks.started`,PostConfigureHooksComplete:`${io}.postConfigureHooks.complete`,PostConfigureHooksError:`${io}.postConfigureHooks.error`,ModuleInitializeError:`${io}.module.initializeError`,ModuleInitializing:`${io}.module.initializing`,ProviderNotBaseModuleProvider:`${io}.provider.invalidBase`,ProviderVersionWarning:`${io}.provider.versionMissing`,ModuleInitialized:`${io}.module.initialized`,RequireInstanceModuleNotDefined:`${io}.requireInstance.moduleNotDefined`,RequireInstanceModuleAlreadyInitialized:`${io}.requireInstance.moduleAlreadyInitialized`,RequireInstanceAwaitingModule:`${io}.requireInstance.awaitingModule`,RequireInstanceTimeout:`${io}.requireInstance.timeout`,RequireInstanceModuleResolved:`${io}.requireInstance.moduleResolved`,ModuleInitializeComplete:`${io}.modules.initializeComplete`,InitializeComplete:`${io}.initialize.instanceComplete`,ConfiguratorPostInitializeStart:`${io}.postInitialize.started`,ModulePostInitializeStart:`${io}.modulePostInitialize.started`,ModulePostInitializeComplete:`${io}.modulePostInitialize.complete`,ModulePostInitializeError:`${io}.modulePostInitialize.error`,PostInitializeComplete:`${io}.postInitialize.complete`,PostInitializeCompleteNoHooks:`${io}.postInitialize.noHooks`,PostInitializeHooks:`${io}.postInitializeHooks.started`,PostInitializeHooksComplete:`${io}.postInitializeHooks.complete`,PostInitializeHooksError:`${io}.postInitializeHooks.error`,PluginsRegister:`${io}.plugins.registering`,PluginRegistered:`${io}.plugin.registered`,PluginRegisterError:`${io}.plugin.registerError`,PluginsRegistered:`${io}.plugins.registered`,Dispose:`${io}.dispose.started`,PluginsDisposing:`${io}.plugins.disposing`,PluginDisposed:`${io}.plugin.disposed`,PluginDisposeError:`${io}.plugin.disposeError`,ModulesDispose:`${io}.modules.disposing`,ModuleDisposed:`${io}.module.disposed`,ModuleDisposeError:`${io}.module.disposeError`,ModulesDisposed:`${io}.modules.disposed`};var so;async function ao(e,t){const n=await async function(e,t){const{modules:n,afterConfiguration:r,afterInit:i,registerEvent:o}=e;return Ii(bi(n).pipe(Ri(async e=>{const n=performance.now();try{const r=await(e.configure?.(t)),i=Math.round(performance.now()-n);return o({level:so.Debug,name:oo.ConfiguratorCreated,message:`Configurator created for ${e.name} in ${i}ms`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",configLoadTime:i},metric:i}),{[e.name]:r}}catch(t){throw o({level:so.Error,name:oo.ConfiguratorFailed,message:`Failed to create configurator for ${e.name}`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},metric:Math.round(performance.now()-n),error:t}),t}}),ji((e,t)=>Object.assign(e,t),{onAfterConfiguration(e){r.push(e)},onAfterInit(e){i.push(e)}})))}(e,t);return await Promise.all(e.configs.map(e=>Promise.resolve(e(n,t)))),await async function(e,t){const{modules:n,afterConfiguration:r,registerEvent:i}=e;if(await Promise.allSettled(n.filter(e=>!!e.postConfigure).map(async e=>{try{const n=performance.now();await(e.postConfigure?.(t)),i({level:so.Debug,name:oo.ModulePostConfigured,message:`Module ${e.name} post-configured successfully`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",postConfigTime:Math.round(performance.now()-n)}})}catch(t){i({level:so.Warning,name:oo.ModulePostConfigureError,message:`Module ${e.name} post-configure failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t})}})),r.length)try{i({level:so.Debug,name:oo.PostConfigureHooks,message:`Post configure hooks [${r.length}] called`});const e=performance.now();await Promise.allSettled(r.map(e=>Promise.resolve(e(t))));const n=Math.round(performance.now()-e);i({level:so.Debug,name:oo.PostConfigureHooksComplete,message:"Post configure hooks complete",properties:{count:r.length,postConfigHooksTime:n},metric:n})}catch(e){i({level:so.Warning,name:oo.PostConfigureHooksError,message:"Post configure hook failed",error:e})}}(e,n),n}!function(e){e[e.Debug=0]="Debug",e[e.Information=1]="Information",e[e.Warning=2]="Warning",e[e.Error=3]="Error",e[e.Critical=4]="Critical"}(so||(so={}));class co{static[Symbol.hasInstance](e){if(null!==e&&"object"==typeof e&&"version"in e&&"dispose"in e){const t=e,n=O(String(t.version)),r=t.dispose;return!!n&&"function"==typeof r}return!1}#ie;#oe;get version(){return this.#ie}constructor(e){const{version:t}=e;this.#ie=new ir(t),this.#oe=new br}_addTeardown(e){return this.#oe.add(e),()=>this.#oe.remove(e)}dispose(){this.#oe.unsubscribe()}}function lo(e,t,n){return function(r,i=60){if(!e.includes(r)){const e=new Error(`Cannot require [${String(r)}] since module is not defined!`);throw e.name="ModuleNotDefinedError",n({level:so.Error,name:oo.RequireInstanceModuleNotDefined,message:e.message,properties:{moduleName:String(r),wait:i},error:e}),e}if(t.value[r])return n({level:so.Debug,name:oo.RequireInstanceModuleAlreadyInitialized,message:`Module [${String(r)}] is already initialized, skipping queue`,properties:{moduleName:String(r),wait:i}}),Promise.resolve(t.value[r]);const o=performance.now();return n({level:so.Debug,name:oo.RequireInstanceAwaitingModule,message:`Awaiting module [${String(r)}] initialization, timeout ${i}s`,properties:{moduleName:String(r),wait:i}}),Si(t.pipe(Bi(e=>!!e[r]),Pi(e=>e[r]),function(e){var t=Ci(e)?{first:e}:"number"==typeof e?{each:e}:e,n=t.first,r=t.each,i=t.with,o=void 0===i?Di:i,s=t.scheduler,a=void 0===s?Qr:s,c=t.meta,l=void 0===c?null:c;if(null==n&&null==r)throw new TypeError("No timeout provided.");return kr(function(e,t){var i,s,c=null,u=0,f=function(e){s=mi(t,a,function(){try{i.unsubscribe(),di(o({meta:l,lastValue:c,seen:u})).subscribe(t)}catch(e){t.error(e)}},e)};i=e.subscribe(Br(t,function(e){null==s||s.unsubscribe(),u++,t.next(c=e),r>0&&f(r)},void 0,void 0,function(){(null==s?void 0:s.closed)||null==s||s.unsubscribe(),c=null})),!u&&f(null!=n?"number"==typeof n?n:+n-a.now():r)})}({each:1e3*i,with:()=>{return t=gr(e=()=>{const e=new ro;return n({level:so.Error,name:oo.RequireInstanceTimeout,message:`Module [${String(r)}] initialization timed out after ${i}s`,properties:{moduleName:String(r),wait:i},error:e}),e})?e:function(){return e},new Ur(function(e){return e.error(t())});var e,t}}),Qi(()=>{const e=Math.round(performance.now()-o);n({level:so.Debug,name:oo.RequireInstanceModuleResolved,message:`Module [${String(r)}] required in ${e}ms`,properties:{moduleName:String(r),wait:i,requireTime:e},metric:e})})))}}async function uo(e,t,n){const{modules:r,registerEvent:i}=e;if(0===r.length)return Object.seal({});const o=r.map(e=>e.name),s=new zr({}),a=e=>o.includes(e),c=lo(o,s,i),l=bi(r).pipe(Ri(e=>async function(e,t){const{config:n,ref:r,requireInstance:i,hasModule:o,registerEvent:s}=t,a=e.name;if(!e.initialize){const t=new Error(`Module ${e.name} does not have initialize method`);throw t.name="ModuleInitializeError",s({level:so.Error,name:oo.ModuleInitializeError,message:t.message,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t}),t}s({level:so.Debug,name:oo.ModuleInitializing,message:`Initializing module ${e.name}`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const c=performance.now(),l=await e.initialize({ref:r,config:n[a],requireInstance:i,hasModule:o});l instanceof co||s({level:so.Warning,name:oo.ProviderNotBaseModuleProvider,message:`Provider for module ${e.name} does not extend BaseModuleProvider`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const u=l;u.version||s({level:so.Warning,name:oo.ProviderVersionWarning,message:`Provider for module ${e.name} does not expose version`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const f=Math.round(performance.now()-c);return s({level:so.Debug,name:oo.ModuleInitialized,message:`Module ${e.name} initialized in ${f}ms`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",providerName:typeof l,providerVersion:u.version?.toString()||"unknown",moduleInitTime:f},metric:f}),[a,l]}(e,{config:t,ref:n,requireInstance:c,hasModule:a,registerEvent:i}))),u=performance.now();l.subscribe({next:([e,t])=>{const n=Object.assign(s.value,{[e]:t});s.next(n)},error:e=>{i({level:so.Error,name:oo.ModuleInitializeError,message:`Failed to initialize module ${e.name||"unknown"}`,error:e}),s.error(e)},complete:()=>{const e=Math.round(performance.now()-u);i({level:so.Debug,name:oo.ModuleInitializeComplete,message:`All modules initialized in ${e}ms`,properties:{modules:Object.keys(s.value).join(", "),loadTime:e},metric:e}),s.complete()}});const f=performance.now(),p=await Ii(s),d=Math.round(performance.now()-f);return i({level:so.Debug,name:oo.InitializeComplete,message:`Modules instance created in ${d}ms`,properties:{modules:Object.keys(p).join(", "),initTime:d},metric:d}),Object.seal(p),p}function fo(e){return"function"==typeof e?e.name||"anonymous":"dispose"}async function po(e){"function"!=typeof e?await e.dispose():await e()}class ho{static className="ModulesConfigurator";get version(){return"6.1.6"}#se=new Vr(100);get event$(){return this.#se.asObservable()}_configs=[];_afterConfiguration=[];_afterInit=[];_plugins=[];_pluginTeardowns=[];_modules;constructor(e){this._modules=new Set(e?this._dedupeModulesByName(e):[])}_dedupeModulesByName(e){const t=new Map;for(const n of e)t.set(n.name,n);return Array.from(t.values())}_removeModuleCallbacks(e){this._configs=this._configs.filter(t=>t.moduleName!==e),this._afterConfiguration=this._afterConfiguration.filter(t=>t.moduleName!==e),this._afterInit=this._afterInit.filter(t=>t.moduleName!==e)}get modules(){return[...this._modules]}configure(...e){for(const t of e)this.addConfig(t)}addConfig(e){const{module:t,afterConfig:n,afterInit:r,configure:i}=e,o=Array.from(this._modules).find(e=>e.name===t.name);if(o){if(o!==t){this._removeModuleCallbacks(t.name);const e=Array.from(this._modules).map(e=>e.name===t.name?t:e);this._modules=new Set(e)}}else this._modules.add(t);if(this._registerEvent({level:so.Debug,name:oo.ModuleConfigAdded,message:`Module configurator added for ${t.name}`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown",configure:!!i,afterConfig:!!n,afterInit:!!r}}),i){const e=(e,n)=>i(e[t.name],n);e.moduleName=t.name,this._configs.push(e)}if(n){const e=e=>n(e[t.name]);e.moduleName=t.name,this._afterConfiguration.push(e)}if(r){const e=e=>r(e[t.name]);e.moduleName=t.name,this._afterInit.push(e)}}onConfigured(e){this._afterConfiguration.push(e),this._registerEvent({level:so.Debug,name:oo.OnConfiguredAdded,message:"Added onConfigured callback",properties:{count:this._afterConfiguration.length,name:e.name||"anonymous"}})}onInitialized(e){this._afterInit.push(e),this._registerEvent({level:so.Debug,name:oo.OnInitializedAdded,message:"Added onInitialized callback",properties:{count:this._afterInit.length,name:e.name||"anonymous"}})}registerPlugin(e){this._plugins.push(e),this._registerEvent({level:so.Debug,name:oo.PluginAdded,message:"Added plugin callback",properties:{count:this._plugins.length,name:e.name||"anonymous"}})}async initialize(e){const t=performance.now(),n=await this._configure(e),r=Math.round(performance.now()-t),i=this.modules.map(e=>e.name).join(", ");this._registerEvent({level:so.Debug,name:oo.InitializeConfigLoaded,message:`Modules configured in ${r}ms`,properties:{modules:i,count:this.modules.length,loadTime:r},metric:r});const o=performance.now(),s=await this._initialize(n,e),a=Math.round(performance.now()-o),c=this.modules.map(e=>e.name).join(", ");this._registerEvent({level:so.Debug,name:oo.InitializeInstanceInitialized,message:`Modules initialized in ${a}ms`,properties:{modules:c,count:this.modules.length,loadTime:a},metric:a});const l=r+a,u=this.modules.map(e=>e.name).join(", ");this._registerEvent({level:so.Information,name:oo.Initialize,message:`initialize in ${l}ms`,properties:{modules:u,configLoadTime:r,instanceLoadTime:a,totalLoadTime:l},metric:l}),await this._postInitialize(s,e);const f=Object.seal(Object.assign({},s,{dispose:()=>this.dispose(s)}));return await this._registerPlugins(f,e),f}_registerEvent(e){const t=e.name.split("::");this.#se.next({...e,name:`${this.constructor.className}::${t[t.length-1]}`})}async _configure(e){return ao({modules:this.modules,configs:this._configs,afterConfiguration:this._afterConfiguration,afterInit:this._afterInit,registerEvent:this._registerEvent.bind(this)},e)}async _initialize(e,t){return uo({modules:this.modules,registerEvent:this._registerEvent.bind(this)},e,t)}async _postInitialize(e,t){return async function(e,t,n){const{modules:r,afterInit:i,registerEvent:o}=e;o({level:so.Debug,name:oo.ConfiguratorPostInitializeStart,message:`Post-initializing all modules [${Object.keys(t).length}]`,properties:{modules:Object.keys(t).join(", ")}});const s=bi(r).pipe(Bi(e=>!!e.postInitialize),Qi(e=>{o({level:so.Debug,name:oo.ModulePostInitializeStart,message:`Module ${e.name} is being post-initialized`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}})}),Ri(e=>{const r=performance.now();return bi(e.postInitialize({ref:n,modules:t,instance:t[e.name]})).pipe(Qi(()=>{const t=Math.round(performance.now()-r);o({level:so.Debug,name:oo.ModulePostInitializeComplete,message:`Module ${e.name} has been post-initialized in ${t}ms`,metric:t,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",postInitTime:t}})}),Hi(null),Mi(t=>(o({level:so.Warning,name:oo.ModulePostInitializeError,message:`Module ${e.name} post-initialize failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t}),ti)))}),Hi(null)),a=performance.now();await Ii(s);const c=Math.round(performance.now()-a);if(o({level:so.Debug,name:oo.PostInitializeComplete,message:`Post-initialization of all modules completed in ${c}ms`,properties:{modules:Object.keys(t).join(", "),postInitTime:c},metric:c}),!i.length)return void o({level:so.Debug,name:oo.PostInitializeCompleteNoHooks,message:"Post-initialization complete",properties:{modules:Object.keys(t).join(", "),postInitCompleteTime:c}});try{const e=i.map(e=>e.name||"anonymous").join(", ");o({level:so.Debug,name:oo.PostInitializeHooks,message:`Executing post-initialize hooks [${i.length}]`,properties:{hooks:e}});const n=performance.now();await Promise.allSettled(i.map(e=>Promise.resolve(e(t))));const r=Math.round(performance.now()-n);o({level:so.Debug,name:oo.PostInitializeHooksComplete,message:`Post-initialize hooks completed in ${r}ms`,properties:{hooks:e,afterInitTime:r},metric:r})}catch(e){const t=i.map(e=>e.name||"anonymous").join(", ");o({level:so.Warning,name:oo.PostInitializeHooksError,message:"Post-initialize hooks failed",properties:{hooks:t},error:e})}const l=Math.round(performance.now()-a);o({level:so.Debug,name:oo.PostInitializeComplete,message:"Post-initialization complete",properties:{modules:Object.keys(t).join(", "),postInitCompleteTime:l}})}({modules:this.modules,afterInit:this._afterInit,registerEvent:this._registerEvent.bind(this)},e,t)}async _registerPlugins(e,t){return async function(e,t,n){const{plugins:r,teardowns:i,registerEvent:o}=e;if(!r.length)return;o({level:so.Debug,name:oo.PluginsRegister,message:`Registering plugins [${r.length}]`,properties:{count:r.length}});const s=await Promise.all(r.map(async e=>{const r=performance.now(),i=e.name||"anonymous";try{const a=await e({modules:t,ref:n}),c=Math.round(performance.now()-r);return o({level:so.Debug,name:oo.PluginRegistered,message:`Plugin ${i} registered in ${c}ms`,properties:{name:i,pluginTime:c},metric:c}),"function"==typeof(s=a)||"object"==typeof s&&null!==s&&"dispose"in s&&"function"==typeof s.dispose?a:void 0}catch(e){return void o({level:so.Warning,name:oo.PluginRegisterError,message:`Plugin ${i} registration failed`,properties:{name:i},error:e})}var s}));for(const e of s)e&&i.push(e);o({level:so.Debug,name:oo.PluginsRegistered,message:"Plugin registration complete",properties:{count:r.length,teardowns:i.length}})}({plugins:this._plugins,teardowns:this._pluginTeardowns,registerEvent:this._registerEvent.bind(this)},e,t)}async dispose(e,t){return async function(e,t,n){const{modules:r,registerEvent:i,event$:o,pluginTeardowns:s=[]}=e;if(i({level:so.Debug,name:oo.Dispose,message:"Disposing modules instance",properties:{modules:Object.keys(t).join(", ")}}),s.length){i({level:so.Debug,name:oo.PluginsDisposing,message:`Disposing plugins [${s.length}]`,properties:{count:s.length}});for(const e of s.splice(0).reverse()){const t=fo(e);try{await po(e),i({level:so.Debug,name:oo.PluginDisposed,message:`Plugin ${t} disposed successfully`,properties:{name:t}})}catch(e){i({level:so.Warning,name:oo.PluginDisposeError,message:`Plugin ${t} dispose failed`,properties:{name:t},error:e})}}}i({level:so.Debug,name:oo.ModulesDispose,message:"Disposing modules",properties:{count:r.length}}),await Promise.allSettled(r.filter(e=>!!e.dispose).map(async e=>{if(e.dispose)try{await e.dispose({ref:n,modules:t,instance:t[e.name]}),i({level:so.Debug,name:oo.ModuleDisposed,message:`Module ${e.name} disposed successfully`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}})}catch(t){i({level:so.Warning,name:oo.ModuleDisposeError,message:`Module ${e.name} dispose failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t})}})),i({level:so.Debug,name:oo.ModulesDisposed,message:"Module dispose complete",properties:{count:r.length}}),o.complete()}({modules:this.modules,registerEvent:this._registerEvent.bind(this),event$:this.#se,pluginTeardowns:this._pluginTeardowns},e,t)}}class mo{_operators;get operators(){return this._operators}constructor(e){this._operators=e&&"operators"in e?{...e.operators}:e??{}}add(e,t){if(Object.keys(this._operators).includes(e))throw Error(`Operator [${e}] already defined`);return this.set(e,t)}set(e,t){return this._operators[e]=t,this}remove(e){return delete this._operators[e],this}get(e){return this._operators[e]}process(e){return Object.values(this._operators).length?bi(Object.values(this._operators)).pipe((t=(e,t)=>Promise.resolve(t(e)).then(t=>t??e),n=e,r=1,kr(function(e,i){var o=n;return Ai(e,i,function(e,n){return t(o,e,n)},r,function(e){o=e},!1,void 0,function(){return o=null})})),Ki()):wi(e);var t,n,r}}class go extends mo{setHeader(e,t){const n=((e,t)=>n=>{const r=new Headers(n.headers);return r.append(e,t),{...n,headers:r}})(e,t);return this.set(`header-${e}`,n)}}class vo extends mo{}class yo{#ae;constructor(e){this.#ae=e?[...e.middleware]:[]}get middleware(){return this.#ae}use(e){return this.#ae.push(e),this}process(e,t,n){const r=this.#ae.reduceRight((e,t)=>(n,r)=>t(n,r,(t,n)=>function(e){return e instanceof Response?Promise.resolve(e):Si(bi(e))}(e(t,n))),n),i=r(e,t);return i instanceof Response?wi(i):bi(i)}}const Eo=x.object({attributionReporting:x.object({eventSourceEligible:x.boolean().optional(),triggerEligible:x.boolean().optional()}).optional(),body:x.union([x.string(),x.instanceof(Blob),x.instanceof(ArrayBuffer),x.instanceof(FormData),x.instanceof(URLSearchParams),x.instanceof(ReadableStream)]).optional(),browsingTopics:x.boolean().optional(),cache:x.enum(["default","no-store","reload","no-cache","force-cache","only-if-cached"]).optional(),credentials:x.enum(["omit","same-origin","include"]).optional(),headers:x.record(x.string(),x.string()).optional().or(x.instanceof(Headers)),integrity:x.string().optional(),keepalive:x.boolean().optional(),method:x.enum(["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","CONNECT","TRACE"],{message:"Invalid request method. Expected one of: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, CONNECT, TRACE. See RFC 2615 Section 9 for more information: https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html"}).optional().optional(),mode:x.enum(["same-origin","cors","no-cors","navigate","websocket"]).optional(),priority:x.enum(["low","high","auto"]).optional(),redirect:x.enum(["follow","error","manual"]).optional(),referrer:x.string().optional(),referrerPolicy:x.enum(["no-referrer","no-referrer-when-downgrade","origin","origin-when-cross-origin","same-origin","strict-origin","strict-origin-when-cross-origin","unsafe-url"]).optional(),signal:x.instanceof(AbortSignal).optional()}).extend({uri:x.string(),path:x.string().optional()}),bo=e=>e=>{const{error:t,success:n,data:r}=x.string().optional().refine(e=>void 0===e||e===e?.toUpperCase(),{message:["Provided HTTP method must be in uppercase.","See RFC 7231 Section 4.1 for more information","https://www.rfc-editor.org/rfc/rfc7231#section-4.1"].join(" ")}).safeParse(e.method);if(e.method=n?r:e.method?.toUpperCase(),t)for(const e of t.issues)console.warn(e.message);return e},wo=e=>e=>{const{strict:t,parse:n}={},r=t?Eo:Eo.passthrough();try{const t=r.parse(e);return n?t:void 0}catch(e){if(n)throw e;console.error("Invalid request options",e.message)}},Lo=e=>{try{return JSON.parse(e)}catch{return e}};function*Io(e,t){const n=e.split("\n\n"),r=t?.dataParser||Lo;for(const e of n){if(!e.trim())continue;const t=e.split("\n").reduce((e,t)=>{if(!t)return e;const n=t.indexOf(":");if(-1===n)return e;const i=t.slice(0,n).trim(),o=t.slice(n+1).trim();return"data"===i?e.data=r(o):e[i]=o,e},{});Object.keys(t).length&&(yield t)}}const So=e=>t=>{if(!t.ok)throw new Qn(`HTTP error! Status: ${t.status}`,t);if(!t.body)throw new Qn("Response body is not readable",t);if(!t.headers.get("Content-Type")?.includes("text/event-stream"))throw new Qn("Response is not a text/event-stream",t);const n=t.body.getReader();return bi(async function*(e,t){const n=!!t?.skipHeartbeats,r=t?.eventFilter?Array.isArray(t.eventFilter)?t.eventFilter:[t.eventFilter]:null,i=new TextDecoder;for(;;){const{done:o,value:s}=await e.read();if(o)break;const a=Io(i.decode(s,{stream:!0}),{dataParser:t?.dataParser});for(const e of a)if(e.retry)await new Promise(t=>setTimeout(t,Number.parseInt(e.retry??"300",10)));else{if(n){if(!e.event&&!e.data&&!e.id)continue;if(e.event&&["heartbeat","ping"].includes(e.event))continue}(!r||e.event&&r.includes(e.event))&&(yield e)}}}(n,{dataParser:e?.dataParser,skipHeartbeats:e?.skipHeartbeats,eventFilter:e?.eventFilter})).pipe(Ji(e?.abortSignal?Ui(e.abortSignal,"abort"):ti),Zi(async()=>{await n.cancel().catch(()=>{}),n.releaseLock()}))};class Co{_clients={};get clients(){return{...this._clients}}defaultHttpClientCtor;defaultHttpRequestHandler=new go({"capitalize-method":bo(),"request-validation":wo()});defaultHttpMiddlewareHandler=new yo;constructor(e){this.defaultHttpClientCtor=e}hasClient(e){return Object.keys(this._clients).includes(e)}addMiddleware(e){return this.defaultHttpMiddlewareHandler.use(e),this}configureClient(e,t){const n="string"==typeof t?{baseUri:t}:t,r="function"==typeof n?{onCreate:n}:n;return this._clients[e]={...this._clients[e],...r},this}}const _o=["http:","https:","ws:","wss:"];class Do extends co{config;get defaultHttpRequestHandler(){return this.config.defaultHttpRequestHandler}get defaultHttpMiddlewareHandler(){return this.config.defaultHttpMiddlewareHandler}constructor(e){super({version:"8.1.4",config:e}),this.config=e}hasClient(e){return Object.keys(this.config.clients).includes(e)}createClient(e){const t=this._resolveConfig(e),{baseUri:n,defaultScopes:r=[],onCreate:i,ctor:o=this.config.defaultHttpClientCtor,requestHandler:s=this.defaultHttpRequestHandler,responseHandler:a,middlewareHandler:c=this.defaultHttpMiddlewareHandler}=t,l=new o(n||"",{requestHandler:s,responseHandler:a,middlewareHandler:c});return Object.assign(l,{defaultScopes:r}),i?.(l),l}createCustomClient(e){return this.createClient(e)}_resolveConfig(e){if("string"==typeof e){const n=this.config.clients[e];if(!n&&(e=>{try{const t=new URL(e);return _o.includes(t.protocol)}catch{return!1}})(e))return{baseUri:e};if(!n&&!(t=e).includes(" ")&&/^[a-z\d]([a-z\d-]*\.)+[a-z]{2,}/i.test(t))return console.warn(`[HttpClientProvider] "${e}" looks like a URL but is missing the http:// or https:// protocol. Treating it as "https://${e}". Pass a fully-qualified URL to silence this warning.`),{baseUri:`https://${e}`};if(!n)throw new er(`No registered http client for key [${e}]`);return n}var t;return e}}function Po(e,t){void 0===t&&(t={});var n=t.selector,r=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(t,["selector"]);return new Ur(function(t){var i=new AbortController,o=i.signal,s=!0,a=r.signal;if(a)if(a.aborted)i.abort();else{var c=function(){o.aborted||i.abort()};a.addEventListener("abort",c),t.add(function(){return a.removeEventListener("abort",c)})}var l=ar(ar({},r),{signal:o}),u=function(e){s=!1,t.error(e)};return fetch(e,l).then(function(e){n?di(n(e)).subscribe(Br(t,void 0,function(){s=!1,t.complete()},u)):(s=!1,t.next(e),t.complete())}).catch(u),function(){s&&i.abort()}})}const No=async e=>{if(204===e.status)return Promise.resolve();try{const t=await e.json();if(!e.ok)throw new Jn("network response was not OK",e,{data:t});return t}catch(t){if(t instanceof Jn)throw t;throw new Jn("failed to parse response",e,{cause:t})}},Oo=async e=>{if(!e.ok)throw new Error("network response was not OK");if(204===e.status)throw new Error("no content");const t=e.headers.get("content-disposition")?.split(";").find(e=>e.includes("filename="))?.replace("filename=","")?.trim();try{return{filename:t,blob:await e.blob()}}catch(e){throw Error("failed to parse response")}};class Ao{uri;requestHandler;responseHandler;middlewareHandler;_request$=new jr;_response$=new jr;_abort$=new jr;get request$(){return this._request$.asObservable()}get response$(){return this._response$.asObservable()}constructor(e,t){this.uri=e,this.requestHandler=new go(t?.requestHandler),this.responseHandler=new vo(t?.responseHandler),this.middlewareHandler=new yo(t?.middlewareHandler),this._init()}_init(){}fetch$(e,t){return this._fetch$(e,t)}fetch(e,t){return Si(this.fetch$(e,t))}fetchAsync(e,t){return this.fetch(e,t)}json$(e,t){const n="object"==typeof t?.body?JSON.stringify(t?.body):t?.body,r=t?.selector??No,i=new Headers(t?.headers);return i.append("Accept","application/json"),i.append("Content-Type","application/json"),this.fetch$(e,{...t,body:n,selector:r,headers:i})}json(e,t){return Si(this.json$(e,t))}blob$(e,t){const n=t?.selector??Oo,r={...t,selector:n};return this.fetch$(e,r)}blob(e,t){return Si(this.blob$(e,t))}sse$(e,t,n){const r=new Headers(t?.headers);r.append("Accept","text/event-stream"),r.append("Content-Type","text/event-stream"),r.append("Cache-Control","no-cache"),r.append("Connection","keep-alive");const i=So({...n,abortSignal:t?.signal});return this._fetch$(e,{selector:i,...t,headers:r})}jsonAsync(e,t){return this.json(e,t)}execute(e,t,n){return this[e](t,n)}abort(){this._abort$.next()}_fetch$(e,t){const{selector:n,...r}=t||{},i=new AbortController,o=this._abort$.pipe((s=1,s<=0?function(){return ti}:kr(function(e,t){var n=0;e.subscribe(Br(t,function(e){++n<=s&&(t.next(e),s<=n&&t.complete())}))}))).subscribe(()=>i.abort());var s;const a=r.signal,c=a?AbortSignal.any([a,i.signal]):i.signal;return wi({...r,signal:c,path:e,uri:this._resolveUrl(e)}).pipe(Xi(e=>this._prepareRequest(e)),Qi(e=>this._request$.next(e)),Xi(({uri:e,path:t,...n})=>this.middlewareHandler.process(e,n,(e,t)=>this._performFetch(e,t))),Xi(e=>this._prepareResponse(e)),Qi(e=>this._response$.next(e)),Xi(e=>{if(n)try{return n(e)}catch(t){throw new Xn("failed to execute response selector",e,{cause:t})}return wi(e)}),Ji(this._abort$),Zi(()=>o.unsubscribe()))}_performFetch(e,t){return Po(e,t)}_prepareRequest(e){return this.requestHandler.process(e)}_prepareResponse(e){return this.responseHandler.process(e)}_resolveUrl(e){const{origin:t,pathname:n}=new URL(this.uri,this.uri.startsWith("http")?void 0:window.location.origin),r=[n,e].join("/").replace(/\/{2,}/g,"/");return new URL(r,t).href}}class Ro extends Ao{defaultScopes=[];fetch$(e,t){const n={...t,scopes:this.defaultScopes.concat(t?.scopes||[])};return super._fetch$(e,n)}}const $o={name:"http",configure:()=>new Co(Ro),initialize:async({config:e,hasModule:t,requireInstance:n})=>{const r=new Do(e);if(t("auth")){const e=await n("auth");r.defaultHttpRequestHandler.set("MSAL",async t=>{const{scopes:n=[]}=t;if(n.length){const r=await e.acquireAccessToken({request:{scopes:n}});if(r){const e=new Headers(t.headers);return e.set("Authorization",`Bearer ${r}`),{...t,headers:e}}}})}return r}},To=(...e)=>t=>t.pipe(function(e,t){return gr(t)?Ri(e,t,1):Ri(e,1)}(...e)),xo=(...e)=>t=>t.pipe(Ri(...e)),Uo=(...e)=>t=>t.pipe(Xi(...e)),Fo=e=>e.pipe(Pi(e=>e.value));var ko=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function Bo(e){if(!function(e){return"string"==typeof e&&ko.test(e)}(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)}const Mo=[];for(let e=0;e<256;++e)Mo.push((e+256).toString(16).slice(1));function Go(e,t=0){return(Mo[e[t+0]]+Mo[e[t+1]]+Mo[e[t+2]]+Mo[e[t+3]]+"-"+Mo[e[t+4]]+Mo[e[t+5]]+"-"+Mo[e[t+6]]+Mo[e[t+7]]+"-"+Mo[e[t+8]]+Mo[e[t+9]]+"-"+Mo[e[t+10]]+Mo[e[t+11]]+Mo[e[t+12]]+Mo[e[t+13]]+Mo[e[t+14]]+Mo[e[t+15]]).toLowerCase()}const jo=new Uint8Array(16);function Ho(e,t,n,r,i,o){const s="string"==typeof n?function(e){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}(n):n,a="string"==typeof r?Bo(r):r;if("string"==typeof r&&(r=Bo(r)),16!==r?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+s.length);if(c.set(a),c.set(s,a.length),c=t(c),c[6]=15&c[6]|e,c[8]=63&c[8]|128,i){if(o??=0,o<0||o+16>i.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);for(let e=0;e<16;++e)i[o+e]=c[e];return i}return Go(c)}function zo(e,t,n){return crypto.randomUUID?crypto.randomUUID():function(e){e=e||{};const t=e.random??e.rng?.()??crypto.getRandomValues(jo);if(t.length<16)throw new Error("Random bytes length must be >= 16");return t[6]=15&t[6]|64,t[8]=63&t[8]|128,Go(t)}(e)}function qo(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function Vo(e,t){return e<<t|e>>>32-t}function Wo(e){const t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new Uint8Array(e.length+1);r.set(e),r[e.length]=128;const i=(e=r).length/4+2,o=Math.ceil(i/16),s=new Array(o);for(let t=0;t<o;++t){const n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[64*t+4*r]<<24|e[64*t+4*r+1]<<16|e[64*t+4*r+2]<<8|e[64*t+4*r+3];s[t]=n}s[o-1][14]=8*(e.length-1)/2**32,s[o-1][14]=Math.floor(s[o-1][14]),s[o-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<o;++e){const r=new Uint32Array(80);for(let t=0;t<16;++t)r[t]=s[e][t];for(let e=16;e<80;++e)r[e]=Vo(r[e-3]^r[e-8]^r[e-14]^r[e-16],1);let i=n[0],o=n[1],a=n[2],c=n[3],l=n[4];for(let e=0;e<80;++e){const n=Math.floor(e/20),s=Vo(i,5)+qo(n,o,a,c)+l+t[n]+r[e]>>>0;l=c,c=a,a=Vo(o,30)>>>0,o=i,i=s}n[0]=n[0]+i>>>0,n[1]=n[1]+o>>>0,n[2]=n[2]+a>>>0,n[3]=n[3]+c>>>0,n[4]=n[4]+l>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}function Zo(e,t,n,r){return Ho(80,Wo,e,t,n,r)}Zo.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",Zo.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";class Ko extends Error{type;request;constructor(e,t){super(t.message,{cause:t.cause}),this.type=e,this.name="QueryClientError",this.request=t.request}}var Yo=Symbol.for("immer-nothing"),Xo=Symbol.for("immer-draftable"),Jo=Symbol.for("immer-state"),Qo="production"!==process.env.NODE_ENV?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function es(e,...t){if("production"!==process.env.NODE_ENV){const n=Qo[e],r=Is(n)?n.apply(null,t):n;throw new Error(`[Immer] ${r}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ts=Object,ns=ts.getPrototypeOf,rs="constructor",is="prototype",os="configurable",ss="enumerable",as="writable",cs="value",ls=e=>!!e&&!!e[Jo];function us(e){return!!e&&(ds(e)||Es(e)||!!e[Xo]||!!e[rs]?.[Xo]||bs(e)||ws(e))}var fs=ts[is][rs].toString(),ps=new WeakMap;function ds(e){if(!e||!Ls(e))return!1;const t=ns(e);if(null===t||t===ts[is])return!0;const n=ts.hasOwnProperty.call(t,rs)&&t[rs];if(n===Object)return!0;if(!Is(n))return!1;let r=ps.get(n);return void 0===r&&(r=Function.toString.call(n),ps.set(n,r)),r===fs}function hs(e,t,n=!0){if(0===ms(e)){(n?Reflect.ownKeys(e):ts.keys(e)).forEach(n=>{t(n,e[n],e)})}else e.forEach((n,r)=>t(r,n,e))}function ms(e){const t=e[Jo];return t?t.type_:Es(e)?1:bs(e)?2:ws(e)?3:0}var gs=(e,t,n=ms(e))=>2===n?e.has(t):ts[is].hasOwnProperty.call(e,t),vs=(e,t,n=ms(e))=>2===n?e.get(t):e[t],ys=(e,t,n,r=ms(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n};var Es=Array.isArray,bs=e=>e instanceof Map,ws=e=>e instanceof Set,Ls=e=>"object"==typeof e,Is=e=>"function"==typeof e,Ss=e=>"boolean"==typeof e;var Cs=e=>e.copy_||e.base_,_s=e=>e.modified_?e.copy_:e.base_;function Ds(e,t){if(bs(e))return new Map(e);if(ws(e))return new Set(e);if(Es(e))return Array[is].slice.call(e);const n=ds(e);if(!0===t||"class_only"===t&&!n){const t=ts.getOwnPropertyDescriptors(e);delete t[Jo];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const i=n[r],o=t[i];!1===o[as]&&(o[as]=!0,o[os]=!0),(o.get||o.set)&&(t[i]={[os]:!0,[as]:!0,[ss]:o[ss],[cs]:e[i]})}return ts.create(ns(e),t)}{const t=ns(e);if(null!==t&&n)return{...e};const r=ts.create(t);return ts.assign(r,e)}}function Ps(e,t=!1){return Os(e)||ls(e)||!us(e)||(ms(e)>1&&ts.defineProperties(e,{set:Ns,add:Ns,clear:Ns,delete:Ns}),ts.freeze(e),t&&hs(e,(e,t)=>{Ps(t,!0)},!1)),e}var Ns={[cs]:function(){es(2)}};function Os(e){return null===e||!Ls(e)||ts.isFrozen(e)}var As="MapSet",Rs="Patches",$s="ArrayMethods",Ts={};function xs(e){const t=Ts[e];return t||es(0,e),t}var Us,Fs=e=>!!Ts[e],ks=()=>Us;function Bs(e,t){t&&(e.patchPlugin_=xs(Rs),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Ms(e){Gs(e),e.drafts_.forEach(Hs),e.drafts_=null}function Gs(e){e===Us&&(Us=e.parent_)}var js=e=>Us={drafts_:[],parent_:Us,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Fs(As)?xs(As):void 0,arrayMethodsPlugin_:Fs($s)?xs($s):void 0};function Hs(e){const t=e[Jo];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function zs(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[Jo].modified_&&(Ms(t),es(4)),us(e)&&(e=qs(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Jo].base_,e,t)}else e=qs(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ps(t,n)}(t,e,!0),Ms(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==Yo?e:void 0}function qs(e,t){if(Os(t))return t;const n=t[Jo];if(!n){return Xs(t,e.handledSet_,e)}if(!Ws(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:t}=n;if(t)for(;t.length>0;){t.pop()(e)}Ys(n,e)}return n.copy_}function Vs(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var Ws=(e,t)=>e.scope_===t,Zs=[];function Ks(e,t,n,r){const i=Cs(e),o=e.type_;if(void 0!==r){if(vs(i,r,o)===t)return void ys(i,r,n,o)}if(!e.draftLocations_){const t=e.draftLocations_=new Map;hs(i,(e,n)=>{if(ls(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const s=e.draftLocations_.get(t)??Zs;for(const e of s)ys(i,e,n,o)}function Ys(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:n}=t;if(n){const r=n.getPath(e);r&&n.generatePatches_(e,r,t)}Vs(e)}}function Xs(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||ls(e)||t.has(e)||!us(e)||Os(e)||(t.add(e),hs(e,(r,i)=>{if(ls(i)){const t=i[Jo];if(Ws(t,n)){const n=_s(t);ys(e,r,n,e.type_),Vs(t)}}else us(i)&&Xs(i,t,n)})),e}var Js={get(e,t){if(t===Jo)return e;let n=e.scope_.arrayMethodsPlugin_;const r=1===e.type_&&"string"==typeof t;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const i=Cs(e);if(!gs(i,t,e.type_))return function(e,t,n){const r=ta(t,n);return r?cs in r?r[cs]:r.get?.call(e.draft_):void 0}(e,i,t);const o=i[t];if(e.finalized_||!us(o))return o;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return o;if(o===ea(e.base_,t)||function(e,t,n){if(1!==e.type_||!e.allIndicesReassigned_||e.assigned_?.get(t)||!us(n)||n[Jo])return!1;return e.baseRefs_.has(n)}(e,t,o)){ra(e);const n=1===e.type_?+t:t,r=ia(e.scope_,o,e,n);return e.copy_[n]=r}return o},has:(e,t)=>t in Cs(e),ownKeys:e=>Reflect.ownKeys(Cs(e)),set(e,t,n){const r=ta(Cs(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=ea(Cs(e),t),s=r?.[Jo];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_.delete(t),!0;if(((i=n)===(o=r)?0!==i||1/i==1/o:i!=i&&o!=o)&&(void 0!==n||gs(e.base_,t,e.type_)))return!0;ra(e),na(e)}var i,o;return e.copy_[t]===n&&(void 0!==n||gs(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),function(e,t,n){const{scope_:r}=e;if(ls(n)){const i=n[Jo];Ws(i,r)&&i.callbacks_.push(function(){ra(e);const r=_s(i);Ks(e,n,r,t)})}else us(n)&&e.callbacks_.push(function(){const i=Cs(e);3===e.type_?i.has(n)&&Xs(n,r.handledSet_,r):vs(i,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&Xs(vs(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(ra(e),void 0!==ea(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),na(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=Cs(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[as]:!0,[os]:1!==e.type_||"length"!==t,[ss]:r[ss],[cs]:n[t]}:r},defineProperty(){es(11)},getPrototypeOf:e=>ns(e.base_),setPrototypeOf(){es(12)}},Qs={};for(let e in Js){let t=Js[e];Qs[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function ea(e,t){const n=e[Jo];return(n?Cs(n):e)[t]}function ta(e,t){if(!(t in e))return;let n=ns(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=ns(n)}}function na(e){e.modified_||(e.modified_=!0,e.parent_&&na(e.parent_))}function ra(e){e.copy_||(e.assigned_=new Map,e.copy_=Ds(e.base_,e.scope_.immer_.useStrictShallowCopy_))}Qs.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&es(13),Qs.set.call(this,e,t,void 0)},Qs.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&es(14),Js.set.call(this,e[0],t,n,e[0])};function ia(e,t,n,r){const[i,o]=bs(t)?xs(As).proxyMap_(t,n):ws(t)?xs(As).proxySet_(t,n):function(e,t){const n=Es(e),r={type_:n?1:0,scope_:t?t.scope_:ks(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,o=Js;n&&(i=[r],o=Qs);const{revoke:s,proxy:a}=Proxy.revocable(i,o);return r.draft_=a,r.revoke_=s,[a,r]}(t,n);return(n?.scope_??ks()).drafts_.push(i),o.callbacks_=n?.callbacks_??[],o.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const i=t;if(!i||!Ws(i,r))return;r.mapSetPlugin_?.fixSetContents(i);const o=_s(i);Ks(e,i.draft_??i,o,n),Ys(i,r)})}(n,o,r):o.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(o);const{patchPlugin_:t}=e;o.modified_&&t&&t.generatePatches_(o,[],e)}),i}function oa(e){if(!us(e)||Os(e))return e;const t=e[Jo];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Ds(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Ds(e,!0);return hs(n,(e,t)=>{ys(n,e,oa(t))},r),t&&(t.finalized_=!1),n}globalThis.Iterator;var sa=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Is(e)&&!Is(t)){const n=t;t=e;const r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}let r;if(Is(t)||es(6),void 0===n||Is(n)||es(7),us(e)){const i=js(this),o=ia(i,e,void 0);let s=!0;try{r=t(o),s=!1}finally{s?Ms(i):Gs(i)}return Bs(i,n),zs(r,i)}if(!e||!Ls(e)){if(r=t(e),void 0===r&&(r=e),r===Yo&&(r=void 0),this.autoFreeze_&&Ps(r,!0),n){const t=[],i=[];xs(Rs).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}es(1,e)},this.produceWithPatches=(e,t)=>{if(Is(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Ss(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Ss(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Ss(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){us(e)||es(8),ls(e)&&(e=function(e){ls(e)||es(10,e);return oa(e)}(e));const t=js(this),n=ia(t,e,void 0);return n[Jo].isManual_=!0,Gs(t),n}finishDraft(e,t){const n=e&&e[Jo];n&&n.isManual_||es(9);const{scope_:r}=n;return Bs(r,t),zs(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=xs(Rs).applyPatches_;return ls(e)?r(e,t):this.produce(e,e=>r(e,t))}},aa=sa.produce;const ca=(...e)=>Bi(t=>e.includes(t.type));class la extends Ur{#ce=new jr;#le;get action$(){return this.#ce.asObservable()}get value(){return this.#le.value}get closed(){return this.#le.closed||this.#ce.closed}constructor(e,t){super(e=>this.#le.subscribe(e));const n="getInitialState"in e?e.getInitialState():t;this.#le=new zr(n),this.#ce.pipe(function(e,t){return kr(Gi(e,t,arguments.length>=2,!0))}(e,n),zi()).subscribe(this.#le),this.reset=()=>this.#le.next(n)}reset;next(e){this.#ce.next(e)}select(e,t){return this.#le.pipe(Pi(e),zi(t))}addEffect(e,t){const n="function"==typeof e?this.action$:Array.isArray(e)?this.action$.pipe(ca(...e)):this.action$.pipe(ca(e)),r=t||e;return n.pipe(Ri(e=>bi(new Promise((t,n)=>{try{t(r(e,this.value))}catch(e){n(e)}})).pipe(Mi(e=>(console.warn("unhandled effect",e),ti)))),Bi(e=>!!e),gi(Qr)).subscribe(this.#ce)}addEpic(e){return this.addFlow(e)}addFlow(e){const t=e(this.action$,this);if(!t)throw new TypeError(`addEpic: one of the provided effects "${e.name||"<anonymous>"}" does not return a stream. Double check you're not missing a return statement!`);return t.pipe(Mi(e=>(console.trace("unhandled exception, epic closed!",e),ti)),gi(Qr)).subscribe(this.#ce)}unsubscribe(){this.#ce.unsubscribe(),this.#le.unsubscribe()}complete(){this.#ce.complete(),this.#le.complete()}asObservable(){return this.#le.asObservable()}}const ua="::";function fa(e,t){function n(...n){if(t){const r=t(...n);if(!r)throw new Error("prepareAction did not return an object");return{type:e,payload:r.payload,..."meta"in r&&{meta:r.meta},..."error"in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>t.type===e,n}function pa(e,t,n,r){const i=fa([e,"request"].join(ua),t);return n&&Object.assign(i,{success:fa([e,"success"].join(ua),n)}),r&&Object.assign(i,{failure:fa([e,"failure"].join(ua),r)}),i}function da(e){return us(e)?aa(e,()=>{}):e}function ha(e,t){const[n,r,i]=function(e){const t={},n=[];let r;const i={addCase(e,o){if("production"!==process.env.NODE_ENV){if(n.length>0)throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`");if(r)throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`")}const s="string"==typeof e?e:e.type;if(s in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[s]=o,i},addMatcher(e,t){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addDefaultCase` can only be called once");return r=e,i}};return e(i),[t,n,r]}(t);let o;if("function"==typeof e)o=()=>da(e());else{const t=da(e);o=()=>t}function s(e,t){let s=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];const a=s.filter(e=>!!e).length>0;return i&&!a&&(s=[i]),s.reduce((e,n)=>{if(n){if(ls(e)){const r=n(e,t);return void 0===r?e:r}if(us(e))return aa(e,e=>n(e,t));{const r=n(e,t);if(void 0===r){if(null===e)return e;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}}return e},e??o())}return s.getInitialState=o,s}const ma={request:fa("client/request",(e,t)=>({payload:{args:e,options:t},meta:{transaction:zo(),created:Date.now()}})),execute:pa("client/execute",e=>({payload:e,meta:{transaction:e,created:Date.now()}}),e=>({payload:e,meta:{transaction:e.transaction,created:Date.now()}}),(e,t)=>({payload:{error:e},meta:{transaction:t,created:Date.now()}})),cancel:fa("client/cancel",(e,t)=>({payload:{transaction:e,reason:t},meta:{transaction:e,created:Date.now()}})),error:fa("client/error",(e,t)=>({payload:{transaction:e,error:t},meta:{transaction:e,created:Date.now()}}))},ga=e=>e.pipe(Bi(ma.request.match),Pi(e=>ma.execute(e.meta.transaction)));class va extends Ur{#ue=new zr("idle");get status(){return this.#ue.value}get status$(){return this.#ue.asObservable()}#fe;#pe;get transaction(){return this.#pe}created=Date.now();get closed(){return"complete"===this.status||"error"===this.status||"canceled"===this.status}constructor(e,t,n){super(t=>{const{transaction:r}=this,i=e.action$.pipe(Bi(e=>e.meta.transaction===r));t.add(e.state$.pipe(Bi(e=>!!e[r]),Pi(e=>e[r])).subscribe(e=>{this.#ue.next(e.status)})),t.add(i.pipe(Bi(ma.execute.success.match),Pi(({payload:e})=>e)).subscribe(e=>{this.#ue.next("complete"),t.next(e),t.complete()})),t.add(i.pipe(Bi(ma.error.match),Pi(({payload:e})=>e)).subscribe(e=>{this.#ue.next("error"),t.error(e.error)})),t.add(i.pipe(Bi(ma.cancel.match)).subscribe(e=>{this.#ue.next("canceled"),t.error(new Ko("abort",{message:e.payload.reason||`job: ${r} was canceled`,request:this.#fe.getRequest(e.meta.transaction)}))})),n?.signal&&t.add(Ui(n?.signal,"abort").pipe(Pi(()=>ma.cancel(r,`job: ${r} was aborted on signal from caller: ${n?.ref}`))).subscribe(t=>e.next(t))),t.add(()=>{this.complete()})}),this.#fe=e;const r=ma.request(t,{ref:n?.ref,retry:n?.retry});this.#pe=r.meta.transaction,this.#fe.next(r)}complete(e){this.closed||this.cancel(e??`job: ${this.transaction} was completed`)}cancel(e){const t=this.transaction;this.#fe.cancel(t,e??`job: ${t} was canceled`)}[Symbol.dispose](){this.complete()}}class ya{type;transaction;data;constructor(e,t,n){this.type=e,this.transaction=t,this.data=n}}class Ea extends Ur{#le;#de;#he;_registerEvent(e,t,n){this.#he.next(new ya(e,t,n))}get closed(){return this.#le.closed}get state$(){return this.#le.asObservable()}get action$(){return this.#le.action$}get event$(){return this.#he.asObservable()}get success$(){return this.action$.pipe(Bi(ma.execute.success.match),Pi(({payload:e})=>e))}get error$(){return this.action$.pipe(ca("client/error"),eo(this.#le),Pi(([e,t])=>{const{payload:n,meta:{transaction:r}}=e,i=t[r];return new Ko("error",{request:i,message:`job: ${r} failed`,cause:n})}))}constructor(e,t){super(e=>this.#le.subscribe(e)),this.#le=new la(((e={})=>ha(e,e=>{e.addCase(ma.request,(e,t)=>{e[t.meta.transaction]={...t.payload,...t.meta,execution:[],errors:[],status:"idle"}}),e.addCase(ma.execute,(e,t)=>{const n=e[t.payload];n&&(n.execution.push(Date.now()),n.status="active")}),e.addCase(ma.execute.success,(e,t)=>{delete e[t.payload.transaction]}),e.addCase(ma.execute.failure,(e,t)=>{const n=e[t.meta.transaction];n&&(n.errors.push(t.payload.error),n.status="failed")}),e.addCase(ma.error,(e,t)=>{delete e[t.meta.transaction]}),e.addCase(ma.cancel,(e,t)=>{delete e[t.meta.transaction]})}))({})),this.#de=new br(()=>{this.#le.complete(),this.#he.complete()}),this.#he=new jr,this.#de.add(this.#le.addFlow(ga)),this.#de.add(this.#le.addFlow((e=>(t,n)=>t.pipe(Bi(ma.execute.match),eo(n),Ri(([n,r])=>{const i=n.payload,o=r[i],s=new AbortController,a=t.pipe(Bi(ma.cancel.match),Bi(e=>e.payload.transaction===i),Qi(()=>{s.signal.aborted||s.abort()}));try{return bi(e(o.args,s.signal)).pipe(Pi(e=>ma.execute.success({...o,status:"complete",completed:Date.now(),value:e})),Mi(e=>wi(ma.execute.failure(e,i))),Ji(a))}catch(e){return wi(ma.execute.failure(e,i))}})))(e)));const n=Object.assign({count:0,delay:0},t?.retry);this.#de.add(this.#le.addFlow((e=>(t,n)=>t.pipe(Bi(ma.execute.failure.match),eo(n),Ri(([t,r])=>{const{transaction:i}=t.meta,o=r[i];if(!o)return wi(ma.error(i,new Ko("error",{message:"request not found, cannot retry request, most likely removed while scheduled for retry!"})));const s=o.execution.length,a=Object.assign({},e,o.options?.retry),c=o.errors?.slice(-1)[0]??new Ko("error",{message:"no errors registered for request!",request:o});if(s>a.count){const e=0===a.count?c:new Ko("error",{message:"maximum retries executed!",cause:o.errors,request:o});return wi(ma.error(i,e))}return("function"==typeof a.delay?bi(a.delay(c)).pipe(Mi(e=>wi(ma.error(i,new Ko("error",{message:"retry delay callback failed!",cause:[...o.errors??[],e],request:o}))))):ki(a.delay)).pipe(eo(n),Bi(([e,t])=>!!t[i]),Qi(([,e])=>{if(!e[i])throw new Ko("error",{message:"request not found, most likely removed while scheduled for retry",cause:o.errors,request:o})}),Pi(()=>ma.execute(i)))})))(n))),this.#le.addEffect(ma.request.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_requested",t,e)}),this.#le.addEffect(ma.execute.type,({meta:{transaction:e}})=>{this._registerEvent("query_client_job_executing",e)}),this.#le.addEffect(ma.execute.success.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_completed",t,{payload:e})}),this.#le.addEffect(ma.execute.failure.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_failed",t,{error:n})}),this.#le.addEffect(ma.cancel.type,({payload:{reason:e},meta:{transaction:t}})=>{this._registerEvent("query_client_job_canceled",t,{reason:e||"no reason provided"})}),this.#le.addEffect(ma.error.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_error",t,{error:n})})}next(e){this.#le.next(e)}query(e,t){const n=new va(this,e,t),r=n.pipe(function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new jr}:t,r=e.resetOnError,i=void 0===r||r,o=e.resetOnComplete,s=void 0===o||o,a=e.resetOnRefCountZero,c=void 0===a||a;return function(e){var t,r,o,a=0,l=!1,u=!1,f=function(){null==r||r.unsubscribe(),r=void 0},p=function(){f(),t=o=void 0,l=u=!1},d=function(){var e=t;p(),null==e||e.unsubscribe()};return kr(function(e,h){a++,u||l||f();var m=o=null!=o?o:n();h.add(function(){0!==--a||u||l||(r=Yi(d,c))}),m.subscribe(h),!t&&a>0&&(t=new Ar({next:function(e){return m.next(e)},error:function(e){u=!0,f(),r=Yi(p,i,e),m.error(e)},complete:function(){l=!0,f(),r=Yi(p,s),m.complete()}}),di(e).subscribe(t))})(e)}}({connector:()=>new Vr,resetOnRefCountZero:!1}));return Object.defineProperties(r,{transaction:{get:()=>n.transaction},created:{get:()=>n.created},status:{get:()=>n.status},closed:{get:()=>n.closed},cancel:{value:e=>n.cancel(e)},complete:{value:()=>n.complete()}}),r}async nextAsync(e,t){return Si(this.query(e,t))}getRequest(e){return this.#le.value[e]}getRequestByRef(e){return Object.values(this.#le.value).find(t=>t.ref===e)}cancelTaskByRef(e,t){const n=this.getRequestByRef(e);n?.ref&&this.cancel(n.transaction,t)}cancel(e,t){if(e)this.#le.value[e]&&(t??=`cancelation requested for job: ${e}`,this.#le.next(ma.cancel(e,t)));else for(const e of Object.keys(this.#le.value))this.cancel(e,"all transactions requested canceled")}on(e,t){return this.#le.addEffect(ma[e].type,e=>{t(e,this)})}complete(){this.#de.unsubscribe()}}const ba={set:fa("cache/set",(e,t)=>({payload:{key:e,record:t}})),insert:fa("cache/insert",(e,t)=>({payload:{key:e,entry:t}})),remove:fa("cache/remove",e=>({payload:e})),invalidate:fa("cache/invalidate",(e,t)=>({payload:e,meta:{item:t}})),mutate:fa("cache/mutate",(e,t,n)=>({payload:{...t,key:e},meta:{item:n}})),trim:fa("cache/trim",e=>({payload:e}))},wa=(e,t)=>(t.updated??0)-(e.updated??0);class La{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Ia{#le;#he;get state(){return this.#le.value}get state$(){return this.#le.asObservable()}get action$(){return this.#le.action$}_registerEvent(e,t){this.#he.next(new La(e,t?.key,t?.data))}get event$(){return this.#he.asObservable()}constructor(e){const{trimming:t,initial:n}=e??{};this.#le=new la(function(e,t={}){return ha(t,t=>t.addCase(e.set,(e,t)=>{const{key:n,record:r}=t.payload;e[n]=r}).addCase(e.insert,(e,t)=>{const{key:n,entry:r}=t.payload,i=e[n];if(i)i.updated=Date.now(),i.updates??=0,i.updates++,i.value=r.value,i.transaction=r.transaction,i.mutated=void 0;else{const t=Date.now();e[n]={...r,created:t,updated:t}}}).addCase(e.remove,(e,t)=>{delete e[t.payload]}).addCase(e.invalidate,(e,t)=>{const n=t.payload?[t.payload]:Object.keys(e);for(const t of n){const n=e[t];n&&(n.updated=void 0)}}).addCase(e.mutate,(e,t)=>{const{key:n,value:r,updated:i}=t.payload,o=e[n];o&&(o.value=r,o.updated=i,o.mutated=Date.now(),o.updates??=0,o.updates++)}).addCase(e.trim,(e,t)=>{const{payload:n}=t,r=n.sort??wa,i=Object.keys(e),o=Object.entries(e).filter(([e,t])=>!n.validate||n.validate(t)).sort((e,t)=>r(e[1],t[1])).slice(0,n.size??Number.MAX_SAFE_INTEGER).map(([e])=>e);if(i.length!==o.length)for(const t of i){const n=o.indexOf(t);-1!==n?o.splice(n,1):delete e[t]}}))}(ba,n)),t&&this.#le.addEffect("cache/set",()=>this.#le.next(ba.trim(t))),this.#he=new jr}has(e){return e in this.#le.value}setItem(e,t){const{args:n,transaction:r,value:i}=t;this.#le.next(ba.insert(e,{args:n,transaction:r,value:i})),this._registerEvent("query_cache_entry_inserted",{key:e,data:{value:i,args:n,transaction:r}})}getItem(e){return this.#le.value[e]}removeItem(e){this.#le.next(ba.remove(e)),this._registerEvent("query_cache_entry_removed",{key:e})}invalidate(e){const t=e?this.#le.value[e]:void 0;this.#le.next(ba.invalidate(e,t)),e&&this._registerEvent("query_cache_entry_invalidated",{key:e,data:{previousValue:t?.value}})}mutate(e,t){const n=e in this.#le.value?this.#le.value[e]:void 0;if(!n)throw new Error(`Cannot mutate cache item with key ${e}: item not found`);const r="function"==typeof t?t(n?.value):t;return this.#le.next(ba.mutate(e,r,n)),this._registerEvent("query_cache_entry_mutated",{key:e,data:{previousValue:n.value,newValue:r,mutation:r}}),()=>this.#le.next(ba.set(e,n))}trim(e){const t=new Set(Object.keys(this.#le.value));this.#le.next(ba.trim(e));const n=new Set(Object.keys(this.#le.value)),r=Array.from(t).filter(e=>!n.has(e));this._registerEvent("query_cache_trimmed",{data:{removedKeys:r,criteria:e}})}reset(){this.#le.reset(),this._registerEvent("query_cache_reset")}complete(){this.#le.complete(),this.#he.complete()}}class Sa extends jr{key;args;options;#me=Date.now();get created(){return this.#me}#ge=zo();get uuid(){return this.#ge}constructor(e,t,n){super(),this.key=e,this.args=t,this.options=n}processJob(e){return e.pipe(Pi(t=>{const{key:n,uuid:r,created:i}=this;return{key:n,uuid:r,created:i,status:"complete",transaction:e.transaction,complete:t.completed,value:t.value}}),Zi(()=>{e.complete()})).subscribe(this)}}class Ca{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class _a{static extractQueryValue=Fo;#de=new br;#fe;#ve;#ye=new jr;#Ee={};#be;#we;#Le=zo();#se;get client(){return this.#fe}_registerEvent(e,t,n){this.#se.next(new Ca(e,t,n))}get cache(){return this.#ve}get event$(){return this.#se.asObservable()}constructor(e){this.#se=new jr,this.#be=t=>Zo(e.key(t),this.#Le),this.#we=e?.validate??((e=0)=>t=>(t.updated??0)+e>Date.now())(e?.expire),e.client instanceof Ea?this.#fe=e.client:(this.#fe=new Ea(e.client.fn,{...e.client.options}),this.#de.add(()=>this.#fe.complete())),this.#de.add(this.#fe.event$.subscribe({next:e=>this.#se.next(e)})),e.cache instanceof Ia?this.#ve=e.cache:(this.#ve=new Ia(e.cache||{}),this.#de.add(()=>this.#ve.complete())),this.#de.add(this.#ve.event$.subscribe({next:e=>this.#se.next(e)}));const t=((e="switch")=>"function"==typeof e?e:(()=>{switch(e){case"concat":return To;case"merge":return xo;case"switch":return Uo;default:throw new Error(`Invalid queue operator: ${e}`)}})())(e.queueOperator);var n,r;this.#de.add(()=>this.#ye.complete()),this.#de.add(this.#ye.pipe(Qi(e=>{this._registerEvent("query_queued",e)}),Bi(e=>!!(e in this.#Ee)),t(e=>{const t=this.#Ee[e],{args:n,options:r,uuid:i}=t;if(this._registerEvent("query_job_selected",e,{taskId:i,args:n,options:r}),!t?.observed)return this._registerEvent("query_job_skipped",e,{taskId:i,args:n,options:r}),delete this.#Ee[e],ti;const o=this.#fe.query(n,{...r,ref:t.uuid});return new Ur(s=>{const{transaction:a}=o;var c,l;this._registerEvent("query_job_started",e,{taskId:i,transaction:a,args:n,options:r}),s.add(()=>{this._registerEvent("query_job_closed",e,{taskId:i,transaction:a,args:n,options:r}),o.complete("task closed"),delete this.#Ee[e]}),s.add((c=10,void 0===l&&(l=Qr),ki(c,c,l)).pipe(Bi(()=>!t.observed)).subscribe(()=>{o.cancel(`task: ${t.uuid} is not observed`),s.complete()})),s.add(t.processJob(o).add(()=>{this._registerEvent("query_job_completed",e,{taskId:i,transaction:a,args:n,options:r})})),o.pipe(Pi(e=>({result:e,task:t})),Mi(()=>ti)).subscribe(s)})}),(n=()=>!this.#fe.closed,void 0===r&&(r=!1),kr(function(e,t){var i=0;e.subscribe(Br(t,function(e){var o=n(e,i++);(o||r)&&t.next(e),!o&&t.complete()}))}))).subscribe(e=>{const{value:t,transaction:n}=e.result,{args:r,key:i,uuid:o}=e.task;this._registerEvent("query_cache_added",i,{data:t,taskId:o,args:r,transaction:n}),this._registerEvent("query_completed",i,{data:t,hasValidCache:!0}),this.#ve.setItem(i,{value:t,args:r,transaction:n})}))}query(e,t){return this._query(e,t)}queryAsync(e,t){const{skipResolve:n,...r}=t||{},i=n?Si:Ii;return new Promise((n,o)=>{t?.signal&&t.signal.addEventListener("abort",()=>o(new Error("Query aborted"))),i(this._query(e,r).pipe(Vi())).then(n,o)})}persistentQuery(e,t){const n=this.#be(e),r=this._query(e,t);return new Ur(i=>{i.add(r.subscribe({next:i.next.bind(i),error:i.error.bind(i)}));const o=t?.cache?.validate||this.#we;i.add(this.cache.state$.pipe(Bi(e=>n in e),Pi(t=>({...t[n],key:n,status:"cache",hasValidCache:o(t[n],e)}))).subscribe(i))}).pipe(zi((e,t)=>e.transaction===t.transaction&&e.mutated===t.mutated))}generateCacheKey(e){return this.#be(e)}mutate(e,t,n){const r=this.#be(e);if(r in this.cache.state==!1){if(void 0===n?.allowCreation)throw new Error(`Cannot mutate cache item with key ${r}: item not found and option "allowCreation" is false`);if(!1===n.allowCreation)return()=>{};const{value:i}="function"==typeof t?t():t;this.cache.setItem(r,{args:e,transaction:zo(),value:i})}return this.#ve.mutate(r,t)}invalidate(e){this.#ve.invalidate(e&&this.#be(e))}complete(){this.#de.unsubscribe(),this.#se?.complete()}onInvalidate(e){const t=this.#ve.action$.pipe(ca("cache/invalidate")).subscribe(t=>e({detail:{item:t.meta.item}}));return()=>t.unsubscribe()}onMutate(e){const t=this.#ve.action$.pipe(ca("cache/mutate")).subscribe(t=>e({detail:{changes:t.payload,current:t.meta.item}}));return()=>t.unsubscribe()}_query(e,t){const n=this.#be(e),r=this._createTask(n,e,t);return this._registerEvent("query_created",n,{args:e,options:t}),r}_createTask(e,t,n){return new Ur(r=>{if(n?.signal){if(n?.signal.aborted)return this._registerEvent("query_aborted",e),r.complete();r.add(Ui(n?.signal,"abort").subscribe(()=>{this._registerEvent("query_aborted",e),r.complete()}))}const i=this.#ve.getItem(e);if(i){this._registerEvent("query_cache_hit",e,{cacheEntry:i});const o=n?.cache?.suppressInvalid??!1,s=(n?.cache?.validate||this.#we)(i,t),a={...i,key:e,status:"cache",hasValidCache:s};if(r.next(a),s||o)return this._registerEvent("query_completed",e,{data:i.value,hasValidCache:s}),r.complete();this._registerEvent("query_cache_miss",e)}const o=e in this.#Ee;o?this._registerEvent("query_connected",e,{isExistingTask:!0}):(this.#Ee[e]=new Sa(e,t,n),this._registerEvent("query_job_created",e,{taskId:this.#Ee[e].uuid,args:t,options:n}));const s=this.#Ee[e];r.add(s.subscribe(r)),o||this.#ye.next(e)})}}class Da extends Error{retryAt;attempt;constructor(e){const t=Math.max(0,Math.ceil((e.retryAt-Date.now())/1e3));super(`Service discovery is unavailable after ${e.attempt} failed attempt(s); requests are paused for ${t}s`,{cause:e.cause}),this.name="ServiceDiscoveryUnavailableError",this.retryAt=e.retryAt,this.attempt=e.attempt}}const Pa=T.object({key:T.string().describe("The key used to identify the service"),uri:T.string().describe("The URI of the service"),id:T.string().optional().describe("The ID of the service"),environment:T.string().optional().describe("The environment of the service"),name:T.string().optional().describe("The name of the service"),scopes:T.array(T.string()).optional().default([]).describe("Endpoint authentication scopes"),tags:T.array(T.string()).optional().describe("Tags for the service")}).describe("A service from the service discovery API").transform(e=>({...e,get defaultScopes(){return e.scopes??[]}})),Na=T.array(Pa).describe("A list of services from the service discovery API");class Oa{#Ie;#Se;#Ce;endpoint;http;constructor(e){this.http=e.http,this.endpoint=e.endpoint;const t=e.postProcess;this.#Ie=new _a({client:{fn:()=>this.http.fetch$(this.endpoint??"",{selector:e=>((e,t)=>{const n=bi(No(e)).pipe(Pi(e=>Na.default([]).parse(e)));return t?n.pipe(t):n})(e,t)})},key:()=>"services",expire:3e5})}async resolveServices(e){if(this.#Se&&Date.now()<this.#Se.retryAt)return this.#_e(new Da({cause:this.#Se.error,retryAt:this.#Se.retryAt,attempt:this.#Se.attempt}));const t=Date.now();try{const t=e?Si:Ii,n=await t(this.#Ie.query());return"complete"===n.status&&(this.#Se=void 0,this.#Ce={services:n.value,receivedAt:Date.now()}),n.value}catch(e){return this.#De(e,t),this.#_e(e)}}#De(e,t){if(this.#Se&&this.#Se.failedAt>=t)return;const n=(this.#Se?.attempt??0)+1,r=Math.min(3e4,1e3*2**(n-1)),i=Math.round(r*(.8+.2*Math.random())),o=Date.now();this.#Se={error:e,attempt:n,failedAt:o,retryAt:o+i},1===n&&console.warn("[service-discovery] request failed; pausing requests with backoff (max 30000ms)",e)}#_e(e){const t=this.#Ce;if(t&&Date.now()-t.receivedAt<=864e5)return t.services;throw e}async resolveService(e,t){const n=(await this.resolveServices(t)).find(t=>t.key===e);if(!n)throw Error(`Failed to resolve service, invalid key [${e}]`);return n}}class Aa extends no{async _createConfig(e,t){if(!e.hasModule("http"))throw new Error("http module is required");if(!this._has("discoveryClient")){(await e.requireInstance("http")).hasClient("service_discovery")&&this.configureServiceDiscoveryClientByClientKey("service_discovery")}return Ii(bi(super._createConfig(e,t)))}_processConfig(e,t){if(!e.discoveryClient)throw new Error("discoveryClient is required, please configure it");return super._processConfig(e,t)}setServiceDiscoveryClient(e){this._set("discoveryClient","function"==typeof e?e:async()=>e)}configureServiceDiscoveryClient(e){this.setServiceDiscoveryClient(async t=>{const{httpClient:n,endpoint:r}=await Ii(bi(e(t)))??{};if(n)return new Oa({http:n,endpoint:r,postProcess:Pi(e=>{const t="undefined"!=typeof globalThis?globalThis.sessionStorage:void 0;if(!t)return e;try{const n=JSON.parse(t.getItem("overriddenServiceDiscoveryUrls")||"{}");for(const[t,{url:r,scopes:i}]of Object.entries(n)){const n=e.find(e=>e.key===t);n&&(n.uri=r,n.scopes=i,n.overridden=!0)}}catch(e){console.error('Failed to JSON parse session overrides: "overriddenServiceDiscoveryUrls"',e)}return e})});throw Error("httpClient is required")})}configureServiceDiscoveryClientByClientKey(e,t){this.configureServiceDiscoveryClient(async({requireInstance:n})=>({httpClient:(await n("http")).createClient(e),endpoint:t}))}}class Ra extends co{config;_http;constructor(e,t){super({version:"10.2.0",config:e}),this.config=e,this._http=t}get client(){return this.config.discoveryClient}resolveServices(){return this.config.discoveryClient.resolveServices()}async resolveService(e){return this.config.discoveryClient.resolveService(e)}async createClient(e,t){const n=await this.resolveService(e);if(!n)throw Error(`Could not load configuration of service [${e}]`);return this._http.createClient({...t,baseUri:n.uri,defaultScopes:n.scopes})}async configureClient(e,t){const{key:n,alias:r}="string"==typeof e?{key:e,alias:e}:e,{uri:i,scopes:o}=await this.resolveService(n);var s,a;t.addConfig((s=r,a={baseUri:i,defaultScopes:o},{module:$o,configure:e=>{e.configureClient(s,a)}}))}}const $a={name:"serviceDiscovery",configure:()=>new Aa,initialize:async e=>{const{requireInstance:t,ref:n}=e,r=await e.config.createConfigAsync(e,{...n?.serviceDiscovery?.config}),i=await t("http");return new Ra(r,i)}},Ta=(e,t)=>{e.addConfig((e=>({module:$a,configure:t=>e(t)}))(()=>Promise.resolve()))};var xa,Ua,Fa,ka={},Ba=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Alpic",constant:"ALPIC",env:"ALPIC_HOST"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE",pr:{env:"AC_GIT_PR",ne:"false"}},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN",pr:{env:"CODEBUILD_WEBHOOK_EVENT",any:["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Cloudflare Pages",constant:"CLOUDFLARE_PAGES",env:"CF_PAGES"},{name:"Cloudflare Workers",constant:"CLOUDFLARE_WORKERS",env:"WORKERS_CI"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}];function Ma(){return xa||(xa=1,function(e){const t=Ba,n=process.env;function r(e){return"string"==typeof e?!!n[e]:"env"in e?n[e.env]&&n[e.env].includes(e.includes):"any"in e?e.any.some(function(e){return!!n[e]}):Object.keys(e).every(function(t){return n[t]===e[t]})}Object.defineProperty(e,"_vendors",{value:t.map(function(e){return e.constant})}),e.name=null,e.isPR=null,e.id=null,"false"!==n.CI&&t.forEach(function(t){const i=(Array.isArray(t.env)?t.env:[t.env]).every(function(e){return r(e)});e[t.constant]=i,i&&(e.name=t.name,e.isPR=function(e){switch(typeof e.pr){case"string":return!!n[e.pr];case"object":return"env"in e.pr?"any"in e.pr?e.pr.any.some(function(t){return n[e.pr.env]===t}):e.pr.env in n&&n[e.pr.env]!==e.pr.ne:"any"in e.pr?e.pr.any.some(function(e){return!!n[e]}):r(e.pr);default:return null}}(t),e.id=t.constant)}),e.isCI=!("false"===n.CI||!(n.BUILD_ID||n.BUILD_NUMBER||n.CI||n.CI_APP_ID||n.CI_BUILD_ID||n.CI_BUILD_NUMBER||n.CI_NAME||n.CONTINUOUS_INTEGRATION||n.RUN_ID||e.name))}(ka)),ka}var Ga,ja=V(Fa?Ua:(Fa=1,Ua=Ma().isCI));!function(e){e.ContinuesIntegration="ci",e.QualityAssurance="fqa",e.Training="tr",e.Production="fprd",e.Development="dev"}(Ga||(Ga={}));const Ha=["5a842df8-3238-415d-b168-9f16a6a6031b/.default"],za=e=>{const t=new ho,n=e.env??Ga.ContinuesIntegration;t.addConfig({module:$o,configure:t=>{const r=n===Ga.Development?Ga.ContinuesIntegration:n,i=e.serviceDiscovery?.url??new URL(`/service-registry/environments/${r}/services`,"https://discovery.fusion.equinor.com").toString(),o=e.serviceDiscovery?.scope??Ha;t.defaultHttpRequestHandler.set("fusion-cli-identification",Un),t.configureClient("service_discovery",{baseUri:i,defaultScopes:o})}}),Ta(t);const{auth:r}=e;return q(t,e=>{if("defaultCredential"in r&&r.defaultCredential)return void e.setDefaultCredential();if("token"in r&&r.token)return void e.setTokenOnly(r.token);const{clientId:t,tenantId:n}=r;if(!t||!n)throw new Error("clientId and tenantId are required for auth module");if("interactive"in r&&r.interactive){const{server:i}=r;if(!i.port)throw new Error("server.port is required for interactive mode");return void e.setInteractive({tenantId:n,clientId:t,redirectPort:i.port,onOpen:i.onOpen})}ja?e.setDefaultCredential():e.setInteractive({tenantId:n,clientId:t,redirectPort:49741})}),t},qa=async(e,t)=>{const n=za(e);t&&t(n);return await n.initialize()},Va=e=>{const t=e.getEntry("metadata.json");if(!t)throw new Error("Metadata file not found in bundle");return new Promise((e,n)=>{t.getDataAsync((t,r)=>{if(r)return n(new Error("Failed to read metadata file",{cause:r}));try{return e(JSON.parse(String(t)))}catch(e){n(new Error("Failed to parse metadata file",{cause:e}))}})})},Wa=async e=>{const{log:t,bundle:n}=e;let r;if(n)try{t?.info("ðïļ","Using artifact-based validation from bundle:",n);const e=new En(n),i=await(async e=>{const t=await Va(e);if(!t.appKey||"string"!=typeof t.appKey||""===t.appKey.trim())throw new Error("App manifest is missing required appKey field");return t})(e);r=i.appKey,t?.info("ðĶ",`Resolved app key "${r}" from bundle artifact`)}catch(e){return t?.fail("ðŦ","Failed to resolve app information from bundle:",e instanceof Error?e.message:String(e)),!1}else{t?.info("ð","Using traditional validation from local project files");const e=await _t(t);r=(await Ct({command:"build",mode:"production"},e,{log:t})).appKey}t?.start("Initializing Fusion Framework...");const i=await qa({env:e.environment,auth:"token"in e.auth?{token:e.auth.token}:e.auth});t?.succeed("Initialized Fusion Framework");try{const e=await i.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)}),t?.info("Checking if",r,"is registered in app store");const n=await e.fetch(`/apps/${r}`,{method:"HEAD",headers:xn});if(n.ok)return t?.succeed("ð",`Application ${r} is registered in app store`),!0;if(404===n.status)return t?.fail("ð",`Application ${r} is not registered in app store`),!1;if(410===n.status)return t?.fail("ð",`Application ${r} is deleted from app store`),!1;const o=Gn(n.status,`check registration for ${r}`);throw o&&(t?.fail("ð",`Authentication/authorization error checking ${r}`),t?.error(o),process.exit(1)),new Error(`Unexpected response status: ${n.status}`)}catch(e){const n=zn(e,`check registration for ${r}`);return n&&(t?.fail("ð",`Token acquisition failed checking ${r}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Error checking application registration"),t?.error("Error checking application registration:",e instanceof Error?e.message:e),!1}},Za=x.object({error:x.object({code:x.string(),message:x.string(),resourceIdentifier:x.string().optional()})});const Ka=async e=>{const{log:t,framework:n}=e,r="string"==typeof e.fileOrBundle?new En(e.fileOrBundle):e.fileOrBundle,{appKey:o}=e.appKey?{appKey:e.appKey}:await Va(r).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)});t?.info("ðĶ",`Uploading application bundle for ${i.bold(o)}`);const s=(await r.getEntries()).map(e=>e.entryName);t?.debug("Bundle contents:",s);const a=await r.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const s=await n.serviceDiscovery.createClient("apps");s.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)});const c=await s.fetch(`/bundles/apps/${o}`,{method:"POST",body:new Blob([a],{type:"application/zip"}),headers:{...xn,"Content-Type":"application/zip"}});if(!c.ok){let n;try{const e=Za.safeParse(await c.json());if(e.success){n=e.data;const{error:r}=n;t?.debug("Error:",r),t?.warn(i.red(`ðĪŊ error: ${r.code}\n`),i.yellowBright(r.message),"\n")}else t?.debug("Unrecognized upload error response:",e.error)}catch(e){t?.debug("Failed to parse upload error response:",e)}if(!0===e.allowExistingVersion&&409===c.status&&"ConflictError"===n?.error.code&&"version"===n.error.resourceIdentifier){const e=r.getEntry("app-manifest.json");if(!e)throw new Error("Cannot recover existing version: app-manifest.json is missing");const t=x.object({version:x.string().refine(e=>null!==$(e))}).parse(JSON.parse(e.getData().toString())).version.toLowerCase();if("string"!=typeof o||!o.trim())throw new Error("Cannot recover existing version: application key is missing");if(n.error.message===`An app build with version ${t} already exists`)return{appKey:o,version:t,existingVersion:!0}}!function(e,t,n){const r=Gn(e.status,`upload bundle for ${t}`);let i;switch(r&&(n?.fail("ð",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion app store`;break;case 404:i=`${e.status} - ${t} not found, please add your application in App Admin before publishing`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("ð
ââïļ",i),process.exit(1)}(c,o,t)}t?.succeed("Successfully uploaded application bundle"),t?.debug("Response:",c);try{return{appKey:o,version:(await c.json()).version}}catch(e){t?.fail("ð
ââïļ",`Failed to parse response from app service: ${e instanceof Error?e.message:e}`),process.exit(1)}}catch(e){const n=zn(e,`upload bundle for ${o}`);n&&(t?.fail("ð",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Failed to upload application bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},Ya=async e=>{const{tag:t,appKey:n,version:r,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("ðĪŠ","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("ðĪŠ",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("ðĪŠ","Application key is required."),process.exit(1)),r||(s?.fail("ðĪŠ","Version is required."),process.exit(1));try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("ð","Executing request to:",St(e.uri))}),s?.start("Publishing application config");const a=await e.json(`/apps/${n}/tags/${t}`,{method:"PUT",body:{version:r},headers:xn});return s?.debug("Response:",a),s?.succeed("Tagged application successfully",i.greenBright(`${n}@${r} - ${t}`)),a}catch(e){if(e instanceof Jn)switch(e.response.status){case 410:s?.fail("ðĪŽ",`App ${n} is deleted from apps-service. Please check the app key and try again.`);break;case 404:s?.fail("ðĪŽ",`App ${n} not found. Please check the app key and try again.`);break;case 403:case 401:{const t=Gn(e.response.status,`tag ${n}@${r}`);s?.fail("ð","Authentication/authorization error tagging application."),t&&s?.error(t),process.exit(1);break}default:s?.fail("ðĪŽ","Failed to tag application",`Status code: ${e.response.status}`,`Error: ${e.message}`)}const t=zn(e,`tag ${n}@${r}`);t&&(s?.fail("ð",`Token acquisition failed tagging ${n}@${r}`),s?.error(t),process.exit(1)),s?.fail("ðĪŽ","Failed to tag application:",e instanceof Error?e.message:String(e)),process.exit(1)}},Xa=x.object({templateEntry:x.string({message:"templateEntry must be a string"}).describe("Main entry point for the portal"),schemaEntry:x.string({message:"schemaEntry must be a string"}).describe("Schema file for portal validation"),assetPath:x.string({message:"assetPath must be a string"}).optional().describe("Asset path for dev/preview builds"),githubRepo:x.string({message:"githubRepo must be a string"}).optional().describe("GitHub repo URL or local git remote"),version:x.string({message:"version must be a string"}).describe("Version from package.json"),timestamp:x.string({message:"timestamp must be a string"}).describe("Current build timestamp (ISO8601)"),commitSha:x.string({message:"commitSha must be a string"}).describe("Current git commit SHA"),annotations:x.record(x.string(),x.string().nullish()).optional().transform(e=>{if(!e)return;const t=Object.entries(e).filter(([,e])=>void 0!==e);return Object.fromEntries(t)}).describe("Optional build annotations"),projectPage:x.string({message:"projectPage must be a string"}).optional().describe("Optional project homepage"),allowedExtensions:x.array(x.string({message:"Each allowed extension must be a string"}),{message:"allowedExtensions must be an array of strings"}).describe("List of allowed asset extensions (with leading dot)"),schema:x.record(x.string(),x.unknown()).optional().describe("Optional schema for the portal"),config:x.record(x.string(),x.unknown()).optional().describe("Optional configuration for the portal")}),Ja=x.object({name:x.string({message:"name must be a string"}).describe("Short app key (unscoped, derived from package name)"),displayName:x.string({message:"displayName must be a string"}).optional().describe("Full package name, may include scope"),description:x.string({message:"description must be a string"}).optional().describe("Description of the portal"),build:Xa}),Qa=(e,t)=>{pt(t,"expected packageJson"),P(t.name,"expected [name] in packageJson"),P(t.version,"expected [version] in packageJson");const n=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/bundle.js":lt(e.root))(e,t),r=t.name.replace(/^@|\w.*\//gm,""),i=t.version,o="build"===e.command?void 0:"/@fs",s=dt(t)??ht(),a=bt.map(e=>`.${e}`),c={name:r,displayName:t.name,description:t.description||"",build:{templateEntry:n,schemaEntry:"portal.schema.json",assetPath:o,githubRepo:s,version:i,timestamp:(new Date).toISOString(),commitSha:mt(),annotations:{...Et()},projectPage:t.homepage,allowedExtensions:a}},l=Ja.safeParse(c);if(!l.success){const e=l.error.issues.map(e=>`- ${e.path.join(".")}: ${e.message}`).join("\n");throw new Error(["Invalid portal manifest generated from package.json:",e].join("\n"))}return l.data},ec=async(e,t,n)=>{const r=Qa(e,t.packageJson);try{n?.log?.start("loading manifest...");const t=await(async(e,t)=>{const n=t?.file??[`portal.manifest.${e.environment}`,"portal.manifest"],r=await I(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};let i;return i="function"==typeof n.default?await n.default(e,{base:r})??void 0:n.default,i?C(r,i):r}}}),i=r.config,o=Ja.safeParse(i);if(!o.success){const e=o.error.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join("; ");throw new Error(`Invalid portal manifest: ${e}`)}return{manifest:i,path:r.path,extension:r.extension}})(e,{base:r});return n?.log?.succeed("generated manifest from",St(t.path,{relative:!0})),t.manifest}catch(e){if(e instanceof S){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${St(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(i.dim("no local manifest config applied, using default generated from package")),r}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?St(n?.manifestPath):""}`),e}},tc=async(e,t)=>{const{log:n}=t;try{n?.start("create portal configuration"),n?.info(`generating config with ${i.red.dim(e.command)} command in ${i.green.dim(e.mode)} mode`);const r=await((e,t)=>{const n=t?.file??[`portal.config.${e.environment}`,"portal.config"];return I(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.schema??T.object({}).passthrough(),i=t?.base??{};if("function"==typeof n.default){const t=await n.default(i,e)??i;return r.parse(t)}return r.parse(n.default??i)}}})})(e,{file:t?.config});return n?.succeed("âïļ generated config from ",St(r.path,{relative:!0})),r.config}catch(e){if(e instanceof S){if(!t.config)return n?.succeed(i.dim("âïļ no local portal config applied, using built-in")),{};n?.warn(`failed to load config file ${St(t.config)}, please check the path.`)}throw n?.fail("failed to resolve portal config"),n?.debug(e),e}},nc=async e=>{const{log:n}=e??{},r=await _t(n),i={root:r.root,environment:"local",...e?.env,mode:"development",command:"serve"},o=await ec(i,r,{log:n,manifestPath:e?.manifest}),s=await tc(i,{log:n,config:e?.config}),a=t(await ft(i,r),{server:{port:e?.server?.port,fs:{allow:[r.root]}}}),c={template:{portal:{id:o.name}},portal:{manifest:o,config:s}};n?.debug("vite config:",a),n?.debug("dev server config:",c),n?.start("Starting app development server...");const l=await $n(i,c,{overrides:a,log:n});return await l.listen(),n?.succeed(`Started app development server on ${l.resolvedUrls?.local?.[0]}`),l},rc=async e=>{const{log:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve portal");const s=await _t(n);n?.start("Loading Vite config...");const c=await ft({root:s.root,command:"build",mode:"production"},s);n?.succeed("Vite config loaded");const l=r||(c.build?.outDir||"dist"),u=a(s.root,l),f={root:s.root,environment:"local",mode:"production",command:"serve",isPreview:!0},p=await ec(f,s,{log:n,manifestPath:e?.manifest}),d=await tc(f,{log:n,config:e?.config});if(n?.debug("Output directory:",u),!b(u))throw new Error(`Build directory does not exist: ${u}\nPlease build the portal first using \`ffc portal build\``);p.build.assetPath=void 0,p.build.templateEntry=`/${p.build.templateEntry}`;const h=await ft(f,s),m=t(h,{server:{port:i,host:o||h.server?.host||"localhost",fs:{allow:[s.root,u]}}}),g={template:{portal:{id:p.name}},portal:{manifest:p,config:d}};n?.debug("vite config:",m),n?.debug("dev server config:",g),n?.start("Starting preview server...");try{const e=await $n(f,g,{overrides:m,log:n});await e.listen(),n?.succeed("Preview server started successfully");const t=e.config.server?.https?"https":"http",r=e.config.server?.host||o,s=e.config.server?.port||i;return n?.info(`Preview server is running at: ${t}://${r}:${s}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}},ic=async e=>{const{log:t}=e??{},n=await _t(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await ec(r,n,{log:t,manifestPath:e?.manifest});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},oc=async e=>{const{log:t}=e??{};t?.log(i.bold("Starting to build portal"));const{manifest:r,pkg:o,env:s}=await ic({log:t,manifest:e?.manifest});t?.start("loading vite config...");const a=await ft(s,o);t?.succeed("vite config applied"),t?.debug("vite config:",a),t?.start("ðĪðŧ","building portal..."),t?.startNativeConsoleCapture(),await n(a),t?.stopNativeConsoleCapture(),t?.succeed("build completed ð");return{pkg:o,manifest:r,outDir:a.build.outDir}},sc=async e=>{const{log:t,manifest:n}=e,r={command:"build",mode:process.env.NODE_ENV??"production",environment:null,root:process.cwd()},{pkg:i,manifest:o}=await oc({log:t,manifest:n});if(!o.build)throw new Error("Manifest build config not found");const s=await(async(e,t)=>{const n=t?.file??[`portal.schema.${e.environment}`,"portal.schema"],r=await I(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async t=>{const n="function"==typeof t.default?await Promise.resolve(t.default(e)):t.default;if(!n)throw new Error("Schema function did not return a valid schema");return n}}});return{schema:r.config,path:r.path,extension:r.extension}})(r,{file:e?.schema});t?.debug("Schema:",s);return{archive:await Wn(i,{log:t,archive:e?.archive,content:{"portal-template-manifest.json":JSON.stringify(o.build,null,2),"portal.schema.json":JSON.stringify(s.schema,null,2),"metadata.json":JSON.stringify({name:o.name,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o,schema:s.schema}},ac=async e=>{const{log:t}=e??{},n=await _t(t),r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env},i=await tc(r,{log:t,config:e?.config});if(t?.debug("config:",i),e?.output){t?.start("writing config to file");try{await qn(e.output,JSON.stringify(i,null,2)),t?.succeed("config written successfully",St(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:i,pkg:n}},cc=async e=>{const{log:t,portal:n}=e,{config:r}=await ac({log:t,config:e.config,env:{environment:e.environment}});t?.start("Initializing Fusion Framework...");const o=await qa({env:e.environment,auth:e.auth});t?.succeed("Initialized Fusion Framework");try{const s=await o.serviceDiscovery.createClient("portals");s.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("ð","Executing request to:",St(e.uri))}),t?.start("Publishing portal config"),t?.info("Using environment:",i.redBright(e.environment));const a=await s.json(`/portals/${n.name}@${n.version}/config`,{method:"PUT",body:r,headers:xn});t?.debug("Response:",a),t?.succeed("Published portal config")}catch(e){if(e instanceof Jn)switch(e.response.status){case 410:t?.fail("ðĪŽ",`Portal ${n.name} is deleted from portals-service. Please check the portal key and try again.`);break;case 404:t?.fail("ðĪŽ",`Portal ${n.name} not found. Please check the portal key and try again.`);break;case 403:case 401:{const r=Gn(e.response.status,`publish config for portal ${n.name}`);t?.fail("ð","Authentication/authorization error publishing portal config."),r&&t?.error(r),process.exit(1);break}default:t?.fail("ðĪŽ","Failed to publish portal config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const r=zn(e,`publish config for portal ${n.name}`);r&&(t?.fail("ð",`Token acquisition failed publishing config for ${n.name}`),t?.error(r),process.exit(1)),t?.fail("ðĪŽ","Failed to publish portal config:",e instanceof Error?e.message:String(e)),process.exit(1)}};const lc=async e=>{const{log:t,framework:n}=e,r="string"==typeof e.fileOrBundle?new En(e.fileOrBundle):e.fileOrBundle,{name:o}=e.name?{name:e.name}:await Va(r).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)}),s=await r.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{t?.info("ð","Executing request to:",e.uri),t?.debug("Request:",e)});const r=await e.fetch(`/bundles/templates/${o}`,{method:"POST",body:new Blob([s],{type:"application/zip"}),headers:{...xn,"Content-Type":"application/zip"}});if(!r.ok){try{const{error:e}=await r.json();t?.debug("Error:",e),e.message&&t?.warn(i.red(`ðĪŊ error: ${e.code}\n`),i.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",r.statusText)}!function(e,t,n){const r=Gn(e.status,`upload portal bundle for ${t}`);let i;switch(r&&(n?.fail("ð",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion`;break;case 404:i=`${e.status} - ${t} not found`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("ð
ââïļ",i),process.exit(1)}(r,o,t)}t?.succeed("Successfully uploaded portal bundle"),t?.debug("Response:",r)}catch(e){const n=zn(e,`upload portal bundle for ${o}`);n&&(t?.fail("ð",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("ð
ââïļ","Failed to upload portal bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},uc=async e=>{const{tag:t,name:n,version:r,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("ðĪŠ","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("ðĪŠ",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("ðĪŠ","Portal name is required."),process.exit(1)),r||(s?.fail("ðĪŠ","Version is required."),process.exit(1)),s?.info("Tagging portal:",i.greenBright(`${n}@${t}`,r));try{const e=await o.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("ð","Executing request to:",St(e.uri))}),s?.start("Tagging portal template...");const i=await e.json(`/templates/${n}/tags/${t}`,{method:"PUT",body:{version:r},headers:xn});s?.debug("Response:",i),s?.succeed("Tagged portal template successfully"),s?.info("ð",JSON.stringify(i))}catch(e){if(e instanceof Jn){const{data:t,response:o}=e;switch(s?.debug("Error:",t),t&&s?.warn(i.red(`ðĪŊ error: ${t.code}\n`),i.yellowBright(t.message),"\n"),o?.status){case 410:s?.fail(`ðĪŽ - ${o?.status} -`,`${n} is deleted. Please check the name and try again.`);break;case 404:s?.fail(`ðĪŽ - ${o?.status} -`,`${n} not found. Please check the name and try again.`);break;case 403:case 401:{const e=Gn(o?.status??401,`tag portal ${n}@${r}`);s?.fail("ð","Authentication/authorization error tagging portal."),e&&s?.error(e),process.exit(1);break}default:s?.fail(`ðĪŽ - ${o?.status} -`,"Failed to tag",`Error: ${e.message}`)}}const t=zn(e,`tag portal ${n}@${r}`);t&&(s?.fail("ð",`Token acquisition failed tagging ${n}@${r}`),s?.error(t),process.exit(1)),s?.fail("ðĪŽ","Failed to tag portal:",e instanceof Error?e.message:String(e)),process.exit(1)}},fc=e=>e&&!ja?Ga.Development:Ga.ContinuesIntegration;export{On as ConsoleLogger,Ga as FusionEnv,Pt as buildApplication,oc as buildPortal,Zn as bundleApp,sc as bundlePortal,Wa as checkApp,za as configureFramework,xn as defaultHeaders,Yn as generateApplicationConfig,ac as generatePortalConfig,qa as initializeFramework,Dt as loadAppManifest,ic as loadPortalManifest,Wn as pack,tr as publishAppConfig,cc as publishPortalConfig,fc as resolveDefaultEnv,rr as serveApplication,rc as servePortal,nr as startAppDevServer,nc as startPortalDevServer,Ya as tagApplication,uc as tagPortal,Ka as uploadApplication,lc as uploadPortalBundle};
|