@calimero-network/registry-cli 1.4.2 → 1.5.1
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/dist/index.js +16206 -116
- package/dist/index.js.map +1 -1
- package/package.json +1 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/local-config.ts","../src/lib/local-storage.ts","../src/lib/local-artifacts.ts","../src/lib/registry-client.ts","../src/commands/apps.ts","../src/commands/developers.ts","../src/commands/attestations.ts","../src/commands/health.ts","../src/lib/ipfs.ts","../src/utils/spinner.ts","../src/commands/ipfs.ts","../src/lib/local-server.ts","../src/commands/local.ts","../src/commands/bundle.ts","../src/index.ts"],"names":["path","fs","spinner","ora","chalk","Command","SSAppRegistryClient","table","crypto"],"mappings":"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","file":"index.js","sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport os from 'os';\n\nexport interface LocalConfigData {\n server: {\n port: number;\n host: string;\n publicHost: string;\n };\n data: {\n dir: string;\n artifactsDir: string;\n };\n artifacts: {\n storageDir: string;\n serveLocal: boolean;\n copyArtifacts: boolean;\n maxFileSize: string;\n allowedTypes: string[];\n };\n}\n\nexport class LocalConfig {\n private configPath: string;\n private dataDir: string;\n private config: LocalConfigData;\n\n constructor() {\n this.configPath = path.join(\n os.homedir(),\n '.calimero-registry',\n 'config.json'\n );\n this.dataDir = path.join(os.homedir(), '.calimero-registry');\n this.config = this.loadConfig();\n }\n\n private loadConfig(): LocalConfigData {\n // Create default config\n const defaultConfig: LocalConfigData = {\n server: {\n port: 8082,\n host: '0.0.0.0',\n publicHost: 'host.docker.internal',\n },\n data: {\n dir: path.join(os.homedir(), '.calimero-registry', 'data'),\n artifactsDir: path.join(\n os.homedir(),\n '.calimero-registry',\n 'artifacts'\n ),\n },\n artifacts: {\n storageDir: path.join(os.homedir(), '.calimero-registry', 'artifacts'),\n serveLocal: true,\n copyArtifacts: true,\n maxFileSize: '100MB',\n allowedTypes: ['wasm', 'js', 'html'],\n },\n };\n\n // Load existing config if it exists\n if (fs.existsSync(this.configPath)) {\n try {\n const existingConfig = JSON.parse(\n fs.readFileSync(this.configPath, 'utf8')\n );\n return {\n server: {\n ...defaultConfig.server,\n ...(existingConfig.server || {}),\n },\n data: {\n ...defaultConfig.data,\n ...(existingConfig.data || {}),\n },\n artifacts: {\n ...defaultConfig.artifacts,\n ...(existingConfig.artifacts || {}),\n },\n };\n } catch {\n console.warn('Failed to load existing config, using defaults');\n }\n }\n\n return defaultConfig;\n }\n\n private saveConfig(): void {\n // Ensure config directory exists\n const configDir = path.dirname(this.configPath);\n if (!fs.existsSync(configDir)) {\n fs.mkdirSync(configDir, { recursive: true });\n }\n\n // Save config\n fs.writeFileSync(this.configPath, JSON.stringify(this.config, null, 2));\n }\n\n // Server configuration\n getPort(): number {\n return this.config.server.port;\n }\n\n setPort(port: number): void {\n this.config.server.port = port;\n this.saveConfig();\n }\n\n getHost(): string {\n return this.config.server.host;\n }\n\n setHost(host: string): void {\n this.config.server.host = host;\n this.saveConfig();\n }\n\n getPublicHost(): string {\n return this.config.server.publicHost;\n }\n\n setPublicHost(host: string): void {\n this.config.server.publicHost = host;\n this.saveConfig();\n }\n\n // Data directory configuration\n getDataDir(): string {\n return this.config.data.dir;\n }\n\n setDataDir(dir: string): void {\n this.config.data.dir = dir;\n this.config.artifacts.storageDir = path.join(dir, 'artifacts');\n this.saveConfig();\n }\n\n getArtifactsDir(): string {\n return this.config.data.artifactsDir;\n }\n\n setArtifactsDir(dir: string): void {\n this.config.data.artifactsDir = dir;\n this.config.artifacts.storageDir = dir;\n this.saveConfig();\n }\n\n // Artifact configuration\n getArtifactsConfig() {\n return this.config.artifacts;\n }\n\n setArtifactsConfig(config: Partial<LocalConfigData['artifacts']>): void {\n this.config.artifacts = { ...this.config.artifacts, ...config };\n this.saveConfig();\n }\n\n // Utility methods\n ensureDirectories(): void {\n const dirs = [\n this.getDataDir(),\n this.getArtifactsDir(),\n path.join(this.getDataDir(), 'backups'),\n path.join(this.getDataDir(), 'logs'),\n ];\n\n dirs.forEach(dir => {\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true });\n }\n });\n }\n\n getConfigPath(): string {\n return this.configPath;\n }\n\n // Get full configuration\n getConfig(): LocalConfigData {\n return { ...this.config };\n }\n\n // Reset to defaults\n reset(): void {\n this.config = {\n server: {\n port: 8082,\n host: 'localhost',\n },\n data: {\n dir: path.join(os.homedir(), '.calimero-registry', 'data'),\n artifactsDir: path.join(\n os.homedir(),\n '.calimero-registry',\n 'artifacts'\n ),\n },\n artifacts: {\n storageDir: path.join(os.homedir(), '.calimero-registry', 'artifacts'),\n serveLocal: true,\n copyArtifacts: true,\n maxFileSize: '100MB',\n allowedTypes: ['wasm', 'js', 'html'],\n },\n };\n this.saveConfig();\n }\n}\n","import fs from 'fs';\nimport path from 'path';\nimport { LocalConfig } from './local-config.js';\n\nexport interface AppSummary {\n id: string;\n name: string;\n latest_version: string;\n latest_digest: string;\n developer_pubkey?: string;\n alias?: string;\n}\n\nexport interface VersionInfo {\n semver: string;\n digest: string;\n cid: string; // Added for compatibility\n yanked: boolean;\n}\n\n// --- V2 / Bundle Manifest Support ---\n\nexport interface BundleArtifact {\n path: string;\n hash: string | null;\n size: number;\n}\n\nexport interface BundleMetadata {\n name: string;\n description?: string;\n icon?: string;\n tags?: string[];\n license?: string;\n}\n\nexport interface BundleInterfaces {\n exports?: string[];\n uses?: string[];\n}\n\nexport interface BundleLinks {\n frontend?: string;\n github?: string;\n docs?: string;\n}\n\nexport interface BundleSignature {\n alg: string;\n sig: string;\n pubkey: string;\n signed_at: string;\n}\n\nexport interface BundleManifest {\n version: string; // \"1.0\" (internal manifest version)\n package: string;\n appVersion: string;\n\n metadata?: BundleMetadata;\n interfaces?: BundleInterfaces;\n\n wasm?: BundleArtifact;\n abi?: BundleArtifact;\n migrations: BundleArtifact[];\n\n links?: BundleLinks;\n signature?: BundleSignature;\n}\n\nexport interface LocalRegistryData {\n apps: Map<string, AppSummary>;\n bundleManifests: Map<string, BundleManifest>; // Key: \"package/version\"\n artifacts: Map<string, string>; // digest -> file path\n}\n\nexport class LocalDataStore {\n private config: LocalConfig;\n private data: LocalRegistryData;\n private appsFile: string;\n private bundleManifestsFile: string;\n private artifactsFile: string;\n\n constructor(config: LocalConfig) {\n this.config = config;\n this.appsFile = path.join(config.getDataDir(), 'apps.json');\n this.bundleManifestsFile = path.join(\n config.getDataDir(),\n 'bundle_manifests.json'\n );\n this.artifactsFile = path.join(config.getDataDir(), 'artifacts.json');\n this.data = {\n apps: new Map(),\n bundleManifests: new Map(),\n artifacts: new Map(),\n };\n this.loadData();\n }\n\n private loadData(): void {\n try {\n // Load apps\n if (fs.existsSync(this.appsFile)) {\n const appsData = JSON.parse(fs.readFileSync(this.appsFile, 'utf8'));\n this.data.apps = new Map(Object.entries(appsData));\n }\n\n // Load bundle manifests\n if (fs.existsSync(this.bundleManifestsFile)) {\n const bundleManifestsData = JSON.parse(\n fs.readFileSync(this.bundleManifestsFile, 'utf8')\n );\n this.data.bundleManifests = new Map(\n Object.entries(bundleManifestsData)\n );\n }\n\n // Load artifacts\n if (fs.existsSync(this.artifactsFile)) {\n const artifactsData = JSON.parse(\n fs.readFileSync(this.artifactsFile, 'utf8')\n );\n this.data.artifacts = new Map(Object.entries(artifactsData));\n }\n } catch {\n console.warn('Failed to load existing data, starting fresh');\n }\n }\n\n private saveData(): void {\n try {\n // Ensure data directory exists\n this.config.ensureDirectories();\n\n // Save apps\n const appsObj = Object.fromEntries(this.data.apps);\n fs.writeFileSync(this.appsFile, JSON.stringify(appsObj, null, 2));\n\n // Save bundle manifests\n const bundleManifestsObj = Object.fromEntries(this.data.bundleManifests);\n fs.writeFileSync(\n this.bundleManifestsFile,\n JSON.stringify(bundleManifestsObj, null, 2)\n );\n\n // Save artifacts\n const artifactsObj = Object.fromEntries(this.data.artifacts);\n fs.writeFileSync(\n this.artifactsFile,\n JSON.stringify(artifactsObj, null, 2)\n );\n } catch (error) {\n throw new Error(\n `Failed to save data: ${\n error instanceof Error ? error.message : 'Unknown error'\n }`\n );\n }\n }\n\n // Apps management\n getApps(filters?: { name?: string; dev?: string }): AppSummary[] {\n let apps = Array.from(this.data.apps.values());\n\n if (filters?.name) {\n apps = apps.filter(app => app.name.includes(filters.name!));\n }\n\n if (filters?.dev) {\n apps = apps.filter(app => app.developer_pubkey === filters.dev);\n }\n\n return apps;\n }\n\n getApp(appKey: string): AppSummary | undefined {\n return this.data.apps.get(appKey);\n }\n\n setApp(appKey: string, app: AppSummary): void {\n this.data.apps.set(appKey, app);\n this.saveData();\n }\n\n // Versions management (bundles only)\n getAppVersions(packageId: string): VersionInfo[] {\n const versions: VersionInfo[] = [];\n\n // Get bundle versions\n for (const [key, manifest] of this.data.bundleManifests.entries()) {\n if (key.startsWith(`${packageId}/`)) {\n const semver = key.split('/').pop()!;\n const digest = manifest.wasm?.hash || '';\n versions.push({\n semver,\n digest,\n cid: digest, // Compatibility\n yanked: false,\n });\n }\n }\n\n return versions.sort((a, b) =>\n a.semver.localeCompare(b.semver, undefined, { numeric: true })\n );\n }\n\n // Manifest management (V2 / Bundles)\n getBundleManifest(pkg: string, version: string): BundleManifest | undefined {\n const key = `${pkg}/${version}`;\n return this.data.bundleManifests.get(key);\n }\n\n setBundleManifest(\n pkg: string,\n version: string,\n manifest: BundleManifest\n ): void {\n const key = `${pkg}/${version}`;\n this.data.bundleManifests.set(key, manifest);\n this.saveData();\n }\n\n // Artifact management\n getArtifactPath(hash: string): string | undefined {\n return this.data.artifacts.get(hash);\n }\n\n setArtifactPath(hash: string, filePath: string): void {\n this.data.artifacts.set(hash, filePath);\n this.saveData();\n }\n\n // Statistics\n getStats() {\n return {\n publishedApps: this.data.apps.size,\n totalVersions: this.data.bundleManifests.size,\n totalArtifacts: this.data.artifacts.size,\n };\n }\n\n // Backup and restore\n async backup(outputPath?: string): Promise<string> {\n const timestamp = new Date().toISOString().replace(/[:.]/g, '-');\n const backupPath =\n outputPath ||\n path.join(\n this.config.getDataDir(),\n 'backups',\n `backup-${timestamp}.json`\n );\n\n // Ensure backup directory exists\n const backupDir = path.dirname(backupPath);\n if (!fs.existsSync(backupDir)) {\n fs.mkdirSync(backupDir, { recursive: true });\n }\n\n const backupData = {\n timestamp: new Date().toISOString(),\n apps: Object.fromEntries(this.data.apps),\n bundleManifests: Object.fromEntries(this.data.bundleManifests),\n artifacts: Object.fromEntries(this.data.artifacts),\n };\n\n fs.writeFileSync(backupPath, JSON.stringify(backupData, null, 2));\n return backupPath;\n }\n\n async restore(backupPath: string): Promise<void> {\n if (!fs.existsSync(backupPath)) {\n throw new Error(`Backup file not found: ${backupPath}`);\n }\n\n const backupData = JSON.parse(fs.readFileSync(backupPath, 'utf8'));\n\n // Restore data\n this.data.apps = new Map(Object.entries(backupData.apps || {}));\n this.data.bundleManifests = new Map(\n Object.entries(backupData.bundleManifests || {})\n );\n this.data.artifacts = new Map(Object.entries(backupData.artifacts || {}));\n\n this.saveData();\n }\n\n // Reset data\n reset(): void {\n this.data.apps.clear();\n this.data.bundleManifests.clear();\n this.data.artifacts.clear();\n this.saveData();\n }\n\n /**\n * Get all bundle manifests\n */\n getAllBundles(): BundleManifest[] {\n return Array.from(this.data.bundleManifests.values());\n }\n\n // Seed with sample data\n async seed(): Promise<void> {\n // V2 Sample Bundle\n const bundleManifest: BundleManifest = {\n version: '1.0',\n package: 'com.calimero.sample-bundle',\n appVersion: '1.0.0',\n metadata: {\n name: 'Sample Bundle App',\n description: 'A sample application using V2 Bundle Manifest',\n tags: ['sample', 'v2'],\n license: 'MIT',\n },\n interfaces: {\n exports: ['com.calimero.sample.v1'],\n uses: [],\n },\n links: {\n frontend: 'https://example.com/app',\n github: 'https://github.com/example/app',\n },\n wasm: {\n path: 'app.wasm',\n size: 1024,\n hash: null,\n },\n abi: {\n path: 'abi.json',\n size: 512,\n hash: null,\n },\n migrations: [],\n };\n\n this.setBundleManifest(\n bundleManifest.package,\n bundleManifest.appVersion,\n bundleManifest\n );\n }\n}\n","import fs from 'fs';\nimport path from 'path';\nimport crypto from 'crypto';\nimport { Buffer } from 'buffer';\nimport { LocalConfig } from './local-config.js';\nimport { LocalDataStore, V1Manifest } from './local-storage.js';\n\nexport class LocalArtifactServer {\n private config: LocalConfig;\n private dataStore: LocalDataStore;\n private artifactsDir: string;\n\n constructor(config: LocalConfig, dataStore: LocalDataStore) {\n this.config = config;\n this.dataStore = dataStore;\n this.artifactsDir = config.getArtifactsDir();\n this.ensureArtifactsDir();\n }\n\n private ensureArtifactsDir(): void {\n if (!fs.existsSync(this.artifactsDir)) {\n fs.mkdirSync(this.artifactsDir, { recursive: true });\n }\n }\n\n // Copy artifact to local storage\n async copyArtifactToLocal(\n sourcePath: string,\n appId: string,\n version: string,\n filename: string\n ): Promise<string> {\n if (!fs.existsSync(sourcePath)) {\n throw new Error(`Source file not found: ${sourcePath}`);\n }\n\n // Create app version directory\n const appVersionDir = path.join(this.artifactsDir, appId, version);\n if (!fs.existsSync(appVersionDir)) {\n fs.mkdirSync(appVersionDir, { recursive: true });\n }\n\n // Copy file to local storage\n const targetPath = path.join(appVersionDir, filename);\n fs.copyFileSync(sourcePath, targetPath);\n\n // Calculate file hash for tracking\n const fileHash = await this.calculateFileHash(targetPath);\n this.dataStore.setArtifactPath(fileHash, targetPath);\n\n return targetPath;\n }\n\n // Serve artifact by app ID, version, and filename\n async serveArtifact(\n appId: string,\n version: string,\n filename: string\n ): Promise<Buffer> {\n const artifactPath = path.join(this.artifactsDir, appId, version, filename);\n\n if (!fs.existsSync(artifactPath)) {\n throw new Error(`Artifact not found: ${artifactPath}`);\n }\n\n return fs.readFileSync(artifactPath);\n }\n\n // Serve artifact by hash\n async serveByHash(hash: string): Promise<Buffer> {\n const artifactPath = this.dataStore.getArtifactPath(hash);\n\n if (!artifactPath || !fs.existsSync(artifactPath)) {\n throw new Error(`Artifact not found for hash: ${hash}`);\n }\n\n return fs.readFileSync(artifactPath);\n }\n\n // Validate artifact file\n async validateArtifact(\n filePath: string\n ): Promise<{ size: number; sha256: string }> {\n if (!fs.existsSync(filePath)) {\n throw new Error(`File not found: ${filePath}`);\n }\n\n const stats = fs.statSync(filePath);\n const fileBuffer = fs.readFileSync(filePath);\n const sha256 = crypto.createHash('sha256').update(fileBuffer).digest('hex');\n\n return {\n size: stats.size,\n sha256,\n };\n }\n\n // Calculate file hash\n private async calculateFileHash(filePath: string): Promise<string> {\n const fileBuffer = fs.readFileSync(filePath);\n return crypto.createHash('sha256').update(fileBuffer).digest('hex');\n }\n\n // Get artifact URL for local serving\n getArtifactUrl(appId: string, version: string, filename: string): string {\n const baseUrl = `http://${this.config.getPublicHost()}:${this.config.getPort()}`;\n return `${baseUrl}/artifacts/${appId}/${version}/${filename}`;\n }\n\n // Get artifact URL by hash\n getArtifactUrlByHash(hash: string): string {\n const baseUrl = `http://${this.config.getPublicHost()}:${this.config.getPort()}`;\n return `${baseUrl}/artifacts/${hash}`;\n }\n\n // Update manifest artifact to use local URLs (and preserve HTTP access)\n updateManifestArtifact(manifest: V1Manifest): V1Manifest {\n const updatedManifest: V1Manifest = { ...manifest };\n\n if (!manifest.artifact?.uri) {\n return updatedManifest;\n }\n\n const uri = manifest.artifact.uri;\n\n if (uri.startsWith('/')) {\n updatedManifest.artifact = {\n ...manifest.artifact,\n uri: `${this.getArtifactUrl(manifest.id, manifest.version, path.basename(manifest.artifact.uri))}`,\n };\n } else if (uri.startsWith('file://')) {\n const filePath = uri.replace('file://', '');\n const filename = path.basename(filePath);\n updatedManifest.artifact = {\n ...manifest.artifact,\n uri: this.getArtifactUrl(manifest.id, manifest.version, filename),\n };\n }\n\n return updatedManifest;\n }\n\n // Clean up old artifacts\n async cleanupOldArtifacts(\n maxAge: number = 30 * 24 * 60 * 60 * 1000\n ): Promise<void> {\n const now = Date.now();\n\n // Get all artifact files\n const getAllFiles = (dir: string): string[] => {\n let files: string[] = [];\n const items = fs.readdirSync(dir);\n\n for (const item of items) {\n const fullPath = path.join(dir, item);\n const stat = fs.statSync(fullPath);\n\n if (stat.isDirectory()) {\n files = files.concat(getAllFiles(fullPath));\n } else {\n files.push(fullPath);\n }\n }\n\n return files;\n };\n\n const allFiles = getAllFiles(this.artifactsDir);\n\n for (const file of allFiles) {\n const stats = fs.statSync(file);\n const age = now - stats.mtime.getTime();\n\n if (age > maxAge) {\n fs.unlinkSync(file);\n console.log(`Cleaned up old artifact: ${file}`);\n }\n }\n }\n\n // Get artifact statistics\n getArtifactStats(): {\n totalFiles: number;\n totalSize: number;\n oldestFile: Date | null;\n } {\n let totalFiles = 0;\n let totalSize = 0;\n let oldestFile: Date | null = null;\n\n const getAllFiles = (dir: string): string[] => {\n let files: string[] = [];\n const items = fs.readdirSync(dir);\n\n for (const item of items) {\n const fullPath = path.join(dir, item);\n const stat = fs.statSync(fullPath);\n\n if (stat.isDirectory()) {\n files = files.concat(getAllFiles(fullPath));\n } else {\n files.push(fullPath);\n }\n }\n\n return files;\n };\n\n if (fs.existsSync(this.artifactsDir)) {\n const allFiles = getAllFiles(this.artifactsDir);\n\n for (const file of allFiles) {\n const stats = fs.statSync(file);\n totalFiles++;\n totalSize += stats.size;\n\n if (!oldestFile || stats.mtime < oldestFile) {\n oldestFile = stats.mtime;\n }\n }\n }\n\n return {\n totalFiles,\n totalSize,\n oldestFile,\n };\n }\n}\n","import { SSAppRegistryClient } from '@calimero-network/registry-client';\nimport { LocalConfig } from './local-config.js';\nimport {\n LocalDataStore,\n AppSummary,\n VersionInfo,\n V1Manifest,\n} from './local-storage.js';\nimport { LocalArtifactServer } from './local-artifacts.js';\nimport fs from 'fs';\nimport path from 'path';\n\nexport interface RegistryClient {\n getApps(filters?: { name?: string }): Promise<AppSummary[]>;\n getAppVersions(appId: string): Promise<VersionInfo[]>;\n getAppManifest(appId: string, semver: string): Promise<V1Manifest>;\n submitAppManifest(\n manifest: V1Manifest\n ): Promise<{ success: boolean; message: string }>;\n healthCheck(): Promise<{ status: string }>;\n}\n\nexport class RemoteRegistryClient implements RegistryClient {\n private client: SSAppRegistryClient;\n\n constructor(baseURL: string, timeout: number) {\n this.client = new SSAppRegistryClient({\n baseURL,\n timeout,\n });\n }\n\n async getApps(filters?: { name?: string }): Promise<AppSummary[]> {\n return await this.client.getApps(filters);\n }\n\n async getAppVersions(appId: string): Promise<VersionInfo[]> {\n return await this.client.getAppVersions(appId);\n }\n\n async getAppManifest(appId: string, semver: string): Promise<V1Manifest> {\n return await this.client.getAppManifest(appId, semver);\n }\n\n async submitAppManifest(\n manifest: V1Manifest\n ): Promise<{ success: boolean; message: string }> {\n return await this.client.submitAppManifest(manifest);\n }\n\n async healthCheck(): Promise<{ status: string }> {\n return await this.client.healthCheck();\n }\n}\n\nexport class LocalRegistryClient implements RegistryClient {\n private config: LocalConfig;\n private dataStore: LocalDataStore;\n private artifactServer: LocalArtifactServer;\n\n constructor() {\n this.config = new LocalConfig();\n this.dataStore = new LocalDataStore(this.config);\n this.artifactServer = new LocalArtifactServer(this.config, this.dataStore);\n }\n\n async getApps(filters?: { name?: string }): Promise<AppSummary[]> {\n return this.dataStore.getApps(filters);\n }\n\n async getAppVersions(appId: string): Promise<VersionInfo[]> {\n return this.dataStore.getAppVersions(appId);\n }\n\n async getAppManifest(appId: string, semver: string): Promise<V1Manifest> {\n const manifest = this.dataStore.getManifest(appId, semver);\n if (!manifest) {\n throw new Error('Manifest not found');\n }\n return this.artifactServer.updateManifestArtifact(manifest);\n }\n\n async submitAppManifest(\n manifest: V1Manifest\n ): Promise<{ success: boolean; message: string }> {\n if (!this.validateManifest(manifest)) {\n throw new Error('Invalid manifest structure');\n }\n\n const processedManifest = await this.processManifestArtifacts(manifest);\n const manifestKey = `${processedManifest.id}/${processedManifest.version}`;\n this.dataStore.setManifest(manifestKey, processedManifest);\n\n const appSummary: AppSummary = {\n id: processedManifest.id,\n name: processedManifest.name,\n latest_version: processedManifest.version,\n latest_digest: processedManifest.artifact.digest,\n };\n this.dataStore.setApp(processedManifest.id, appSummary);\n\n return {\n success: true,\n message: 'App version registered successfully',\n };\n }\n\n async healthCheck(): Promise<{ status: string }> {\n return { status: 'ok' };\n }\n\n private validateManifest(manifest: V1Manifest): boolean {\n return !!(\n manifest.manifest_version &&\n manifest.id &&\n manifest.name &&\n manifest.version &&\n manifest.artifact &&\n manifest.artifact.type &&\n manifest.artifact.target &&\n manifest.artifact.digest &&\n manifest.artifact.uri\n );\n }\n\n private async processManifestArtifacts(\n manifest: V1Manifest\n ): Promise<V1Manifest> {\n const processedManifest: V1Manifest = { ...manifest };\n\n if (manifest.artifact?.uri?.startsWith('file://')) {\n const filePath = manifest.artifact.uri.replace('file://', '');\n\n if (fs.existsSync(filePath)) {\n const filename = path.basename(filePath);\n\n try {\n await this.artifactServer.copyArtifactToLocal(\n filePath,\n manifest.id,\n manifest.version,\n filename\n );\n\n processedManifest.artifact = {\n ...manifest.artifact,\n uri: this.artifactServer.getArtifactUrl(\n manifest.id,\n manifest.version,\n filename\n ),\n };\n } catch (error) {\n console.warn(`Failed to copy artifact ${filePath}:`, error);\n }\n }\n }\n\n return processedManifest;\n }\n}\n\nexport function createRegistryClient(\n useLocal: boolean,\n baseURL?: string,\n timeout?: number\n): RegistryClient {\n if (useLocal) {\n return new LocalRegistryClient();\n } else {\n return new RemoteRegistryClient(\n baseURL || 'http://localhost:8082',\n timeout || 10000\n );\n }\n}\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { table } from 'table';\nimport { createRegistryClient } from '../lib/registry-client.js';\nimport fs from 'fs';\nimport path from 'path';\n\nexport const appsCommand = new Command('apps')\n .description('Manage SSApp applications')\n .addCommand(\n new Command('list')\n .description('List all applications')\n .option('-n, --name <name>', 'Filter by application name')\n .action(async (options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const useLocal = globalOpts?.local || false;\n const client = createRegistryClient(\n useLocal,\n globalOpts?.url,\n parseInt(globalOpts?.timeout || '10000')\n );\n\n const spinner = ora('Fetching applications...').start();\n\n try {\n const apps = await client.getApps({\n name: options.name,\n });\n\n spinner.succeed(`Found ${apps.length} application(s)`);\n\n if (apps.length === 0) {\n console.log(chalk.yellow('No applications found'));\n return;\n }\n\n const tableData = [\n ['ID', 'Name', 'Latest Version', 'Digest'],\n ...apps.map(app => [\n app.id,\n app.name,\n app.latest_version,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (app.latest_digest || (app as any).latest_cid || 'N/A')\n .toString()\n .substring(0, 12) + '...',\n ]),\n ];\n\n console.log(table(tableData));\n } catch (error) {\n spinner.fail('Failed to fetch applications');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n )\n .addCommand(\n new Command('versions')\n .description('List versions of a specific application')\n .argument('<appId>', 'Application ID')\n .action(async (appId, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const useLocal = globalOpts?.local || false;\n const client = createRegistryClient(\n useLocal,\n globalOpts?.url,\n parseInt(globalOpts?.timeout || '10000')\n );\n\n const spinner = ora(`Fetching versions for ${appId}...`).start();\n\n try {\n const versions = await client.getAppVersions(appId);\n\n spinner.succeed(`Found ${versions.length} version(s)`);\n\n if (versions.length === 0) {\n console.log(chalk.yellow('No versions found'));\n return;\n }\n\n const tableData = [\n ['Version', 'CID', 'Yanked'],\n ...versions.map(version => [\n version.semver,\n version.cid.substring(0, 12) + '...',\n version.yanked ? chalk.red('Yes') : chalk.green('No'),\n ]),\n ];\n\n console.log(table(tableData));\n } catch (error) {\n spinner.fail('Failed to fetch versions');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n )\n .addCommand(\n new Command('manifest')\n .description('Get manifest for a specific application version')\n .argument('<appId>', 'Application ID')\n .argument('<version>', 'Application version')\n .action(async (appId, version, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const useLocal = globalOpts?.local || false;\n const client = createRegistryClient(\n useLocal,\n globalOpts?.url,\n parseInt(globalOpts?.timeout || '10000')\n );\n\n const spinner = ora(\n `Fetching manifest for ${appId}@${version}...`\n ).start();\n\n try {\n const manifest = await client.getAppManifest(appId, version);\n\n spinner.succeed('Manifest fetched successfully');\n\n console.log(chalk.blue('\\nApplication Manifest:'));\n console.log(JSON.stringify(manifest, null, 2));\n } catch (error) {\n spinner.fail('Failed to fetch manifest');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n )\n .addCommand(\n new Command('submit')\n .description('Submit a new application manifest')\n .argument('<manifest-file>', 'Path to the manifest JSON file')\n .action(async (manifestFile, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const useLocal = globalOpts?.local || false;\n const client = createRegistryClient(\n useLocal,\n globalOpts?.url,\n parseInt(globalOpts?.timeout || '10000')\n );\n\n const spinner = ora('Reading manifest file...').start();\n\n try {\n // Read and parse the manifest file\n const manifestPath = path.resolve(manifestFile);\n if (!fs.existsSync(manifestPath)) {\n spinner.fail('Manifest file not found');\n console.error(chalk.red(`File not found: ${manifestFile}`));\n process.exit(1);\n }\n\n const manifestContent = fs.readFileSync(manifestPath, 'utf8');\n const manifest = JSON.parse(manifestContent);\n\n spinner.text = 'Submitting application manifest...';\n\n const result = await client.submitAppManifest(manifest);\n\n spinner.succeed('Application submitted successfully');\n console.log(chalk.green(`\\n✅ ${result.message}`));\n\n if (manifest.app?.name) {\n console.log(chalk.blue(`\\n📱 App: ${manifest.app.name}`));\n console.log(\n chalk.blue(`👤 Developer: ${manifest.app.developer_pubkey}`)\n );\n console.log(chalk.blue(`📦 Version: ${manifest.version?.semver}`));\n }\n } catch (error) {\n spinner.fail('Failed to submit application');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n );\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { table } from 'table';\nimport { SSAppRegistryClient } from '@calimero-network/registry-client';\n\nexport const developersCommand = new Command('developers')\n .description('Manage developer profiles')\n .addCommand(\n new Command('get')\n .description('Get developer profile information')\n .argument('<pubkey>', 'Developer public key')\n .action(async (pubkey, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const client = new SSAppRegistryClient({\n baseURL: globalOpts?.url || 'http://localhost:8082',\n timeout: parseInt(globalOpts?.timeout || '10000'),\n });\n\n const spinner = ora('Fetching developer profile...').start();\n\n try {\n const profile = await client.getDeveloper(pubkey);\n\n spinner.succeed('Developer profile fetched successfully');\n\n console.log(chalk.blue('\\nDeveloper Profile:'));\n console.log(chalk.green('Display Name:'), profile.display_name);\n if (profile.website) {\n console.log(chalk.green('Website:'), profile.website);\n }\n\n if (profile.proofs.length > 0) {\n console.log(chalk.green('\\nProofs:'));\n const tableData = [\n ['Type', 'Value', 'Verified'],\n ...profile.proofs.map(proof => [\n proof.type,\n proof.value.substring(0, 20) + '...',\n proof.verified ? chalk.green('Yes') : chalk.red('No'),\n ]),\n ];\n console.log(table(tableData));\n } else {\n console.log(chalk.yellow('\\nNo proofs found'));\n }\n } catch (error) {\n spinner.fail('Failed to fetch developer profile');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n )\n .addCommand(\n new Command('create')\n .description('Create a new developer profile')\n .argument('<pubkey>', 'Developer public key')\n .argument('<display-name>', 'Display name for the developer')\n .option('-w, --website <url>', 'Developer website URL')\n .option('-p, --proofs <proofs>', 'JSON string of proofs array')\n .action(async (pubkey, displayName, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const client = new SSAppRegistryClient({\n baseURL: globalOpts?.url || 'http://localhost:8082',\n timeout: parseInt(globalOpts?.timeout || '10000'),\n });\n\n const spinner = ora('Creating developer profile...').start();\n\n try {\n let proofs = [];\n if (options.proofs) {\n try {\n proofs = JSON.parse(options.proofs);\n } catch {\n spinner.fail('Invalid proofs JSON format');\n console.error(chalk.red('Proofs must be a valid JSON array'));\n process.exit(1);\n }\n }\n\n const profile = {\n pubkey,\n display_name: displayName,\n website: options.website,\n proofs,\n };\n\n const result = await client.submitDeveloperProfile(pubkey, profile);\n\n spinner.succeed('Developer profile created successfully');\n console.log(chalk.green(`\\n✅ ${result.message}`));\n console.log(chalk.blue(`\\n👤 Developer: ${displayName}`));\n console.log(chalk.blue(`🔑 Public Key: ${pubkey}`));\n if (options.website) {\n console.log(chalk.blue(`🌐 Website: ${options.website}`));\n }\n } catch (error) {\n spinner.fail('Failed to create developer profile');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n );\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { SSAppRegistryClient } from '@calimero-network/registry-client';\n\nexport const attestationsCommand = new Command('attestations')\n .description('Manage application attestations')\n .addCommand(\n new Command('get')\n .description('Get attestation for a specific application version')\n .argument('<pubkey>', 'Developer public key')\n .argument('<name>', 'Application name')\n .argument('<version>', 'Application version')\n .action(async (pubkey, name, version, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const client = new SSAppRegistryClient({\n baseURL: globalOpts?.url || 'http://localhost:8082',\n timeout: parseInt(globalOpts?.timeout || '10000'),\n });\n\n const spinner = ora(\n `Fetching attestation for ${name}@${version}...`\n ).start();\n\n try {\n const attestation = await client.getAttestation(\n pubkey,\n name,\n version\n );\n\n spinner.succeed('Attestation fetched successfully');\n\n console.log(chalk.blue('\\nAttestation:'));\n console.log(chalk.green('Status:'), attestation.status);\n console.log(chalk.green('Timestamp:'), attestation.timestamp);\n if (attestation.comment) {\n console.log(chalk.green('Comment:'), attestation.comment);\n }\n } catch (error) {\n spinner.fail('Failed to fetch attestation');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n );\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { createRegistryClient } from '../lib/registry-client.js';\n\nexport const healthCommand = new Command('health')\n .description('Check the health of the SSApp Registry API')\n .action(async (options, command) => {\n const globalOpts = command.parent?.opts();\n const useLocal = globalOpts?.local || false;\n const client = createRegistryClient(\n useLocal,\n globalOpts?.url,\n parseInt(globalOpts?.timeout || '10000')\n );\n\n const spinner = ora('Checking API health...').start();\n\n try {\n const health = await client.healthCheck();\n spinner.succeed('API is healthy');\n console.log(chalk.green(`Status: ${health.status}`));\n } catch (error) {\n spinner.fail('API health check failed');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n });\n","import { writeFileSync, existsSync } from 'fs';\n\nexport async function uploadToIPFS(filePath: string): Promise<string> {\n try {\n // For now, we'll simulate IPFS upload since public gateways require authentication\n // In production, you'd use a service like Pinata, Infura, or your own IPFS node\n\n // Check if file exists (this satisfies the linter by using filePath)\n if (!existsSync(filePath)) {\n throw new Error(`File not found: ${filePath}`);\n }\n\n // Use a hardcoded valid CID for demo\n const simulatedCid = 'QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG';\n\n console.log('⚠️ Using simulated IPFS upload for demo purposes');\n console.log(' In production, use a service like Pinata or Infura');\n\n return simulatedCid;\n } catch (error) {\n throw new Error(\n `Failed to upload to IPFS: ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n}\n\nexport async function downloadFromIPFS(\n cid: string,\n outputPath?: string\n): Promise<string> {\n try {\n // For demo purposes, we'll simulate IPFS download\n // In production, you'd actually download from IPFS\n\n console.log('⚠️ Using simulated IPFS download for demo purposes');\n console.log(' In production, use a service like Pinata or Infura');\n\n // Generate a simulated file content based on CID\n const simulatedContent = `Simulated IPFS file content for CID: ${cid}\\nThis is a demo file that would normally contain the actual application data.`;\n\n // Determine output path\n const finalOutputPath = outputPath || `${cid}.wasm`;\n\n // Write the simulated content to file\n writeFileSync(finalOutputPath, simulatedContent);\n\n return finalOutputPath;\n } catch (error) {\n throw new Error(\n `Failed to download from IPFS: ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n}\n","import ora from 'ora';\n\nexport const spinner = (text: string) => ora(text);\n","import { Command } from 'commander';\nimport { uploadToIPFS, downloadFromIPFS } from '../lib/ipfs';\nimport { spinner } from '../utils/spinner';\n\nexport const ipfsCommand = new Command('ipfs')\n .description('IPFS operations')\n .addCommand(\n new Command('upload')\n .description('Upload a file to IPFS')\n .argument('<file>', 'Path to the file to upload')\n .action(async file => {\n const s = spinner('Uploading to IPFS...').start();\n\n try {\n const cid = await uploadToIPFS(file);\n s.succeed(`File uploaded successfully!`);\n console.log(`CID: ${cid}`);\n console.log(`Gateway URL: https://ipfs.io/ipfs/${cid}`);\n } catch (error) {\n s.fail('Upload failed');\n console.error(\n 'Error:',\n error instanceof Error ? error.message : 'Unknown error'\n );\n process.exit(1);\n }\n })\n )\n .addCommand(\n new Command('download')\n .description('Download a file from IPFS')\n .argument('<cid>', 'IPFS CID to download')\n .argument('[output]', 'Output file path (optional)')\n .action(async (cid, output) => {\n const s = spinner('Downloading from IPFS...').start();\n\n try {\n const outputPath = await downloadFromIPFS(cid, output);\n s.succeed(`File downloaded successfully!`);\n console.log(`Saved to: ${outputPath}`);\n console.log(`Gateway URL: https://ipfs.io/ipfs/${cid}`);\n } catch (error) {\n s.fail('Download failed');\n console.error(\n 'Error:',\n error instanceof Error ? error.message : 'Unknown error'\n );\n process.exit(1);\n }\n })\n );\n","import fastify, { FastifyInstance } from 'fastify';\nimport cors from '@fastify/cors';\nimport { LocalConfig } from './local-config.js';\nimport { LocalDataStore, BundleManifest } from './local-storage.js';\nimport { LocalArtifactServer } from './local-artifacts.js';\nimport fs from 'fs';\n\nexport interface ServerStatus {\n running: boolean;\n url: string;\n dataDir: string;\n appsCount: number;\n artifactsCount: number;\n}\n\nexport class LocalRegistryServer {\n private config: LocalConfig;\n private dataStore: LocalDataStore;\n private artifactServer: LocalArtifactServer;\n private server: FastifyInstance | null = null;\n private isRunning = false;\n\n constructor(config: LocalConfig) {\n this.config = config;\n this.dataStore = new LocalDataStore(config);\n this.artifactServer = new LocalArtifactServer(config, this.dataStore);\n }\n\n async start(port?: number): Promise<void> {\n if (this.isRunning) {\n throw new Error('Local registry is already running');\n }\n\n const serverPort = port || this.config.getPort();\n const host = this.config.getHost();\n\n // Ensure directories exist\n this.config.ensureDirectories();\n\n // Create Fastify server\n this.server = fastify({\n logger: {\n level: 'info',\n },\n });\n\n // Register CORS\n await this.server.register(cors, {\n origin: true,\n credentials: true,\n });\n\n // Register routes\n await this.registerRoutes();\n\n // Start server\n await this.server.listen({ port: serverPort, host });\n this.isRunning = true;\n\n console.log(\n `Local registry server started on http://${host}:${serverPort}`\n );\n }\n\n async stop(): Promise<void> {\n if (!this.server || !this.isRunning) {\n throw new Error('Local registry is not running');\n }\n\n await this.server.close();\n this.isRunning = false;\n this.server = null;\n }\n\n async getStatus(): Promise<ServerStatus> {\n const stats = this.dataStore.getStats();\n const artifactStats = this.artifactServer.getArtifactStats();\n\n return {\n running: this.isRunning,\n url: `http://${this.config.getHost()}:${this.config.getPort()}`,\n dataDir: this.config.getDataDir(),\n appsCount: stats.publishedApps,\n artifactsCount: artifactStats.totalFiles,\n };\n }\n\n async reset(): Promise<void> {\n this.dataStore.reset();\n\n // Clean up artifacts directory\n const artifactsDir = this.config.getArtifactsDir();\n if (fs.existsSync(artifactsDir)) {\n fs.rmSync(artifactsDir, { recursive: true, force: true });\n }\n }\n\n async backup(outputPath?: string): Promise<string> {\n return await this.dataStore.backup(outputPath);\n }\n\n async restore(backupPath: string): Promise<void> {\n await this.dataStore.restore(backupPath);\n }\n\n async seed(): Promise<void> {\n await this.dataStore.seed();\n }\n\n private async registerRoutes(): Promise<void> {\n if (!this.server) {\n throw new Error('Server not initialized');\n }\n\n // Health endpoint\n this.server.get('/healthz', async () => {\n return { status: 'ok' };\n });\n\n // Statistics endpoint\n this.server.get('/stats', async () => {\n const stats = this.dataStore.getStats();\n const artifactStats = this.artifactServer.getArtifactStats();\n\n return {\n publishedApps: stats.publishedApps,\n totalVersions: stats.totalVersions,\n totalArtifacts: artifactStats.totalFiles,\n totalSize: artifactStats.totalSize,\n };\n });\n\n // Artifact endpoints\n this.server.get(\n '/artifacts/:appId/:version/:filename',\n async (request, reply) => {\n const { appId, version, filename } = request.params as {\n appId: string;\n version: string;\n filename: string;\n };\n\n try {\n const artifactData = await this.artifactServer.serveArtifact(\n appId,\n version,\n filename\n );\n\n // Set appropriate headers\n reply.header('Content-Type', 'application/octet-stream');\n reply.header(\n 'Content-Disposition',\n `attachment; filename=\"${filename}\"`\n );\n\n return artifactData as Uint8Array;\n } catch {\n return {\n statusCode: 404,\n error: 'Not Found',\n message: 'Artifact not found',\n };\n }\n }\n );\n\n this.server.get('/artifacts/:hash', async (request, reply) => {\n const { hash } = request.params as { hash: string };\n\n try {\n const artifactData = await this.artifactServer.serveByHash(hash);\n\n // Set appropriate headers\n reply.header('Content-Type', 'application/octet-stream');\n\n return artifactData as Uint8Array;\n } catch {\n return {\n statusCode: 404,\n error: 'Not Found',\n message: 'Artifact not found',\n };\n }\n });\n\n // Local registry management endpoints\n this.server.get('/local/status', async () => {\n return await this.getStatus();\n });\n\n this.server.post('/local/reset', async () => {\n await this.reset();\n return { message: 'Local registry data reset successfully' };\n });\n\n this.server.get('/local/backup', async request => {\n const query = request.query as { output?: string };\n const backupPath = await this.backup(query.output);\n return { backupPath };\n });\n\n this.server.post('/local/restore', async request => {\n const { backupPath } = request.body as { backupPath: string };\n await this.restore(backupPath);\n return { message: 'Data restored successfully' };\n });\n\n this.server.post('/local/seed', async () => {\n await this.seed();\n return { message: 'Sample data seeded successfully' };\n });\n\n // V2 Bundle API endpoints\n this.server.get('/api/v2/bundles', async (request, reply) => {\n const query = request.query as {\n package?: string;\n version?: string;\n developer?: string;\n };\n\n const { package: pkg, version, developer } = query;\n\n // If specific package and version requested, return single bundle\n if (pkg && version) {\n const manifest = this.dataStore.getBundleManifest(pkg, version);\n if (!manifest) {\n return reply.code(404).send({\n error: 'bundle_not_found',\n message: `Bundle ${pkg}@${version} not found`,\n });\n }\n return [manifest];\n }\n\n // Get all bundles\n const allBundles = this.dataStore.getAllBundles();\n const bundles = [];\n\n for (const bundle of allBundles) {\n // Filter by package if specified\n if (pkg && bundle.package !== pkg) {\n continue;\n }\n\n // Filter by developer pubkey if specified\n if (developer) {\n const bundlePubkey = bundle.signature?.pubkey;\n if (!bundlePubkey || bundlePubkey !== developer) {\n continue;\n }\n }\n\n bundles.push(bundle);\n }\n\n // Sort by package name, then by version (descending)\n bundles.sort((a, b) => {\n const pkgCompare = a.package.localeCompare(b.package);\n if (pkgCompare !== 0) return pkgCompare;\n // For same package, sort by version descending\n return b.appVersion.localeCompare(a.appVersion, undefined, {\n numeric: true,\n });\n });\n\n // If filtering by package, return all versions\n // Otherwise, return only latest version per package\n if (pkg) {\n return bundles;\n }\n\n // Group by package and return only latest version\n const latestByPackage = new Map<string, BundleManifest>();\n for (const bundle of bundles) {\n const existing = latestByPackage.get(bundle.package);\n if (!existing || bundle.appVersion > existing.appVersion) {\n latestByPackage.set(bundle.package, bundle);\n }\n }\n\n return Array.from(latestByPackage.values());\n });\n\n this.server.get(\n '/api/v2/bundles/:package/:version',\n async (request, reply) => {\n const { package: pkg, version } = request.params as {\n package: string;\n version: string;\n };\n\n const manifest = this.dataStore.getBundleManifest(pkg, version);\n\n if (!manifest) {\n return reply.code(404).send({\n error: 'manifest_not_found',\n message: `Manifest not found for ${pkg}@${version}`,\n });\n }\n\n return manifest;\n }\n );\n }\n}\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { LocalRegistryServer } from '../lib/local-server.js';\nimport { LocalConfig } from '../lib/local-config.js';\nimport fs from 'fs';\n\nconst localCommand = new Command('local').description(\n 'Manage local registry for development'\n);\n\n// Start local registry\nlocalCommand.addCommand(\n new Command('start')\n .description('Start local registry server')\n .option('-p, --port <port>', 'Port to run the server on', '8082')\n .option('-h, --host <host>', 'Host to bind the server to', '0.0.0.0')\n .option(\n '--public-host <host>',\n 'Public host exposed in manifest artifact URLs',\n 'host.docker.internal'\n )\n .action(async options => {\n const spinner = ora('Starting local registry...').start();\n\n try {\n const config = new LocalConfig();\n config.setHost(options.host);\n config.setPublicHost(options.publicHost);\n config.setPort(parseInt(options.port, 10));\n const server = new LocalRegistryServer(config);\n\n await server.start(parseInt(options.port));\n\n spinner.succeed(\n `Local registry started on http://${config.getHost()}:${config.getPort()}`\n );\n console.log(chalk.blue('\\n📱 Local Registry Status:'));\n console.log(\n chalk.green(\n `✅ Server: http://${config.getHost()}:${config.getPort()}`\n )\n );\n console.log(\n chalk.green(\n `🌐 Public URL: http://${config.getPublicHost()}:${config.getPort()}`\n )\n );\n console.log(chalk.green(`📁 Data: ${config.getDataDir()}`));\n console.log(\n chalk.green(\n `📋 Health: http://${config.getHost()}:${config.getPort()}/healthz`\n )\n );\n console.log(\n chalk.green(\n `📊 Stats: http://${config.getHost()}:${config.getPort()}/stats`\n )\n );\n console.log(\n chalk.blue(\n '\\n💡 Use --local flag with other commands to use local registry'\n )\n );\n } catch (error) {\n spinner.fail('Failed to start local registry');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Stop local registry\nlocalCommand.addCommand(\n new Command('stop')\n .description('Stop local registry server')\n .action(async () => {\n const spinner = ora('Stopping local registry...').start();\n\n try {\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n await server.stop();\n\n spinner.succeed('Local registry stopped');\n } catch (error) {\n spinner.fail('Failed to stop local registry');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Status check\nlocalCommand.addCommand(\n new Command('status')\n .description('Check local registry status')\n .action(async () => {\n const spinner = ora('Checking local registry status...').start();\n\n try {\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n const status = await server.getStatus();\n\n if (status.running) {\n spinner.succeed('Local registry is running');\n console.log(chalk.green(`✅ Server: ${status.url}`));\n console.log(chalk.green(`📁 Data: ${status.dataDir}`));\n console.log(chalk.green(`📊 Apps: ${status.appsCount} applications`));\n console.log(\n chalk.green(`📦 Artifacts: ${status.artifactsCount} artifacts`)\n );\n } else {\n spinner.warn('Local registry is not running');\n console.log(\n chalk.yellow(\n '💡 Run \"calimero-registry local start\" to start the local registry'\n )\n );\n }\n } catch (error) {\n spinner.fail('Failed to check local registry status');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Reset local data\nlocalCommand.addCommand(\n new Command('reset')\n .description('Reset local registry data')\n .option('-f, --force', 'Force reset without confirmation')\n .action(async options => {\n if (!options.force) {\n console.log(\n chalk.yellow('⚠️ This will delete all local registry data!')\n );\n console.log(chalk.yellow(' Use --force flag to confirm'));\n return;\n }\n\n const spinner = ora('Resetting local registry data...').start();\n\n try {\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n await server.reset();\n\n spinner.succeed('Local registry data reset');\n console.log(chalk.green('✅ All local data has been cleared'));\n } catch (error) {\n spinner.fail('Failed to reset local registry data');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Backup local data\nlocalCommand.addCommand(\n new Command('backup')\n .description('Backup local registry data')\n .option('-o, --output <file>', 'Output file path')\n .action(async options => {\n const spinner = ora('Creating backup...').start();\n\n try {\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n const backupPath = await server.backup(options.output);\n\n spinner.succeed('Backup created successfully');\n console.log(chalk.green(`📦 Backup saved to: ${backupPath}`));\n } catch (error) {\n spinner.fail('Failed to create backup');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Restore from backup\nlocalCommand.addCommand(\n new Command('restore')\n .description('Restore local registry data from backup')\n .argument('<backup-file>', 'Path to backup file')\n .action(async backupFile => {\n const spinner = ora('Restoring from backup...').start();\n\n try {\n if (!fs.existsSync(backupFile)) {\n spinner.fail('Backup file not found');\n console.error(chalk.red(`File not found: ${backupFile}`));\n process.exit(1);\n }\n\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n await server.restore(backupFile);\n\n spinner.succeed('Data restored successfully');\n console.log(chalk.green(`✅ Restored from: ${backupFile}`));\n } catch (error) {\n spinner.fail('Failed to restore from backup');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Seed with sample data\nlocalCommand.addCommand(\n new Command('seed')\n .description('Seed local registry with sample data')\n .action(async () => {\n const spinner = ora('Seeding local registry with sample data...').start();\n\n try {\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n await server.seed();\n\n spinner.succeed('Sample data seeded successfully');\n console.log(\n chalk.green('✅ Local registry populated with sample applications')\n );\n console.log(\n chalk.blue(\n '💡 Run \"calimero-registry apps list --local\" to see the sample apps'\n )\n );\n } catch (error) {\n spinner.fail('Failed to seed sample data');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\nexport { localCommand };\n","/**\n * Bundle Management Commands\n *\n * Implements:\n * - bundle push <file.mpk>\n * - bundle get <package> <version>\n */\n\nimport { Command } from 'commander';\nimport fs from 'fs';\nimport path from 'path';\nimport * as tar from 'tar';\nimport crypto from 'crypto';\nimport { LocalDataStore, BundleManifest } from '../lib/local-storage.js';\nimport { LocalConfig } from '../lib/local-config.js';\nimport { LocalArtifactServer } from '../lib/local-artifacts.js';\n\nexport const bundleCommand = new Command('bundle')\n .description('Manage application bundles (V2)')\n .addCommand(createCreateCommand())\n .addCommand(createPushCommand())\n .addCommand(createGetCommand());\n\nfunction createCreateCommand(): Command {\n return new Command('create')\n .description('Create an MPK bundle from a WASM file')\n .argument('<wasm-file>', 'Path to the WASM file')\n .argument('<package>', 'Package name (e.g. com.calimero.myapp)')\n .argument('<version>', 'Version (e.g. 1.0.0)')\n .option('-o, --output <path>', 'Output path for the MPK file')\n .option('--name <name>', 'Application name')\n .option('--description <description>', 'Application description')\n .option('--author <author>', 'Application author', 'Calimero Team')\n .option('--frontend <url>', 'Frontend URL')\n .option('--github <url>', 'GitHub URL')\n .option('--docs <url>', 'Documentation URL')\n .option(\n '--export <interface>',\n 'Export interface (can be specified multiple times)',\n (value, prev) => {\n return [...(prev || []), value];\n }\n )\n .option(\n '--use <interface>',\n 'Use interface (can be specified multiple times)',\n (value, prev) => {\n return [...(prev || []), value];\n }\n )\n .action(async (wasmFile, pkg, version, options) => {\n try {\n const wasmPath = path.resolve(wasmFile);\n if (!fs.existsSync(wasmPath)) {\n console.error(`❌ WASM file not found: ${wasmFile}`);\n process.exit(1);\n }\n\n console.log(`📦 Creating MPK bundle from: ${path.basename(wasmPath)}`);\n\n // Read WASM file\n const wasmContent = fs.readFileSync(wasmPath);\n const wasmSize = wasmContent.length;\n\n // Calculate SHA256 hash\n const hash = crypto\n .createHash('sha256')\n .update(wasmContent)\n .digest('hex');\n\n // Build metadata\n const metadata: {\n name: string;\n description: string;\n author: string;\n } = {\n name: options.name || pkg,\n description: options.description || '',\n author: options.author || 'Calimero Team',\n };\n\n // Build links if provided\n const links: {\n frontend?: string;\n github?: string;\n docs?: string;\n } = {};\n if (options.frontend) links.frontend = options.frontend;\n if (options.github) links.github = options.github;\n if (options.docs) links.docs = options.docs;\n\n // Build interfaces\n const interfaces = {\n exports: options.export || [],\n uses: options.use || [],\n };\n\n // Create bundle manifest\n const manifest: BundleManifest = {\n version: '1.0',\n package: pkg,\n appVersion: version,\n metadata: Object.keys(metadata).length > 0 ? metadata : undefined,\n interfaces:\n interfaces.exports.length > 0 || interfaces.uses.length > 0\n ? interfaces\n : undefined,\n wasm: {\n path: 'app.wasm',\n hash: hash,\n size: wasmSize,\n },\n abi: null,\n migrations: [],\n links: Object.keys(links).length > 0 ? links : undefined,\n signature: undefined,\n };\n\n // Determine output path\n let outputPath = options.output;\n if (!outputPath) {\n const outputDir = path.join(process.cwd(), pkg, version);\n if (!fs.existsSync(outputDir)) {\n fs.mkdirSync(outputDir, { recursive: true });\n }\n outputPath = path.join(outputDir, `${pkg}-${version}.mpk`);\n } else {\n outputPath = path.resolve(outputPath);\n const outputDir = path.dirname(outputPath);\n if (!fs.existsSync(outputDir)) {\n fs.mkdirSync(outputDir, { recursive: true });\n }\n }\n\n // Create temporary directory for bundle contents\n const tempDir = path.join(\n path.dirname(outputPath),\n `.temp-bundle-${Date.now()}`\n );\n fs.mkdirSync(tempDir, { recursive: true });\n\n try {\n // Write manifest.json\n fs.writeFileSync(\n path.join(tempDir, 'manifest.json'),\n JSON.stringify(manifest, null, 2)\n );\n\n // Copy WASM file as app.wasm\n fs.writeFileSync(path.join(tempDir, 'app.wasm'), wasmContent);\n\n // Create gzip-compressed tar archive\n await tar.create(\n {\n gzip: true,\n file: outputPath,\n cwd: tempDir,\n },\n ['manifest.json', 'app.wasm']\n );\n\n const outputSize = fs.statSync(outputPath).size;\n console.log(`✅ Created MPK bundle: ${outputPath}`);\n console.log(` Package: ${pkg}`);\n console.log(` Version: ${version}`);\n console.log(` Size: ${outputSize} bytes`);\n console.log(` WASM Hash: ${hash}`);\n } finally {\n // Cleanup temp directory\n if (fs.existsSync(tempDir)) {\n fs.rmSync(tempDir, { recursive: true, force: true });\n }\n }\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'Unknown error';\n console.error('❌ Failed to create bundle:', message);\n process.exit(1);\n }\n });\n}\n\nfunction createPushCommand(): Command {\n return new Command('push')\n .description('Push a bundle (.mpk) to the registry')\n .argument('<bundle-file>', 'Path to the .mpk bundle file')\n .option('--local', 'Push to local registry instance', true) // Default to local for now\n .action(async (bundleFile, options) => {\n try {\n const fullPath = path.resolve(bundleFile);\n if (!fs.existsSync(fullPath)) {\n console.error(`❌ File not found: ${bundleFile}`);\n process.exit(1);\n }\n\n console.log(`📦 Processing bundle: ${path.basename(fullPath)}`);\n\n // 1. Read bundle and extract manifest\n const manifest = await extractManifest(fullPath);\n\n if (!manifest) {\n console.error('❌ manifest.json not found in bundle');\n process.exit(1);\n }\n\n // 2. Validate manifest\n if (!manifest.package || !manifest.appVersion) {\n console.error('❌ Invalid manifest: missing package or appVersion');\n process.exit(1);\n }\n\n console.log(` Package: ${manifest.package}`);\n console.log(` Version: ${manifest.appVersion}`);\n if (manifest.metadata) {\n console.log(` Name: ${manifest.metadata.name}`);\n }\n\n // 3. Store (Local Mode)\n if (options.local) {\n const config = new LocalConfig();\n const store = new LocalDataStore(config);\n const artifactServer = new LocalArtifactServer(config, store);\n\n // Copy bundle artifact to local storage\n const bundleFilename = `${manifest.package}-${manifest.appVersion}.mpk`;\n const targetPath = await artifactServer.copyArtifactToLocal(\n fullPath,\n manifest.package,\n manifest.appVersion,\n bundleFilename\n );\n\n console.log(` Artifact stored: ${targetPath}`);\n\n // Update manifest with local artifact path/url?\n // Actually, for V2 bundles, the registry serves the whole .mpk.\n // The manifest inside the registry is metadata.\n // We might want to store the bundle download URL in the manifest we serve via API?\n // Or just keep it implicit (API constructs download link).\n\n // For local-storage, we can add a field to track where the .mpk is.\n // But LocalDataStore mainly stores the JSON.\n // The artifacts are stored by convention in artifacts/package/version/.\n\n store.setBundleManifest(\n manifest.package,\n manifest.appVersion,\n manifest\n );\n console.log('✅ Bundle manifest registered locally');\n console.log(\n ` Run 'calimero-registry bundle get ${manifest.package} ${manifest.appVersion}' to verify`\n );\n } else {\n console.error('❌ Remote push not implemented yet');\n process.exit(1);\n }\n } catch (error) {\n console.error('❌ Failed to push bundle:', error);\n process.exit(1);\n }\n });\n}\n\nfunction createGetCommand(): Command {\n return new Command('get')\n .description('Get bundle manifest')\n .argument('<package>', 'Package name (e.g. com.calimero.kv)')\n .argument('<version>', 'Version (e.g. 1.0.0)')\n .option('--local', 'Use local registry', true)\n .action(async (pkg, version, options) => {\n try {\n if (options.local) {\n const config = new LocalConfig();\n const store = new LocalDataStore(config);\n const manifest = store.getBundleManifest(pkg, version);\n\n if (manifest) {\n console.log(JSON.stringify(manifest, null, 2));\n } else {\n console.error(`❌ Manifest not found: ${pkg}@${version}`);\n process.exit(1);\n }\n } else {\n console.error('❌ Remote get not implemented yet');\n process.exit(1);\n }\n } catch (error) {\n console.error('❌ Error:', error);\n process.exit(1);\n }\n });\n}\n\n// Helper to extract manifest.json from .mpk (tar.gz)\nasync function extractManifest(\n bundlePath: string\n): Promise<BundleManifest | null> {\n let manifestContent: string | null = null;\n\n // @ts-expect-error tar typing issue\n await tar.t({\n file: bundlePath,\n\n onentry: (entry: tar.ReadEntry) => {\n if (entry.path === 'manifest.json') {\n // Found it\n }\n },\n });\n\n // Actual extraction\n const extractDir = path.join(path.dirname(bundlePath), `.temp-${Date.now()}`);\n if (!fs.existsSync(extractDir)) {\n fs.mkdirSync(extractDir);\n }\n\n try {\n // @ts-expect-error tar typing issue\n await tar.x({\n file: bundlePath,\n cwd: extractDir,\n filter: (path: string) => path === 'manifest.json',\n });\n\n const manifestPath = path.join(extractDir, 'manifest.json');\n if (fs.existsSync(manifestPath)) {\n const content = fs.readFileSync(manifestPath, 'utf8');\n manifestContent = content;\n }\n } catch {\n // ignore\n } finally {\n // Cleanup\n if (fs.existsSync(extractDir)) {\n fs.rmSync(extractDir, { recursive: true, force: true });\n }\n }\n\n if (manifestContent) {\n try {\n return JSON.parse(manifestContent) as BundleManifest;\n } catch {\n console.error('Failed to parse manifest JSON');\n return null;\n }\n }\n\n return null;\n}\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport { appsCommand } from './commands/apps.js';\nimport { developersCommand } from './commands/developers.js';\nimport { attestationsCommand } from './commands/attestations.js';\nimport { healthCommand } from './commands/health.js';\nimport { ipfsCommand } from './commands/ipfs.js';\nimport { localCommand } from './commands/local.js';\nimport { bundleCommand } from './commands/bundle.js';\n\nconst program = new Command();\n\nprogram\n .name('calimero-registry')\n .description(\n 'Calimero Network App Registry CLI - Command-line interface for the App Registry'\n )\n .version('1.0.0');\n\n// Global help text with examples\nprogram.addHelpText(\n 'after',\n `\nExamples:\n $ calimero-registry apps list\n $ calimero-registry apps create --file manifest.json\n $ calimero-registry local start\n $ calimero-registry health --local\n\nFor more information, visit: https://github.com/calimero-network/app-registry\n`\n);\n\n// Global options\nprogram.option('-u, --url <url>', 'Registry API URL', 'http://localhost:8082');\nprogram.option(\n '-t, --timeout <timeout>',\n 'Request timeout in milliseconds',\n '10000'\n);\nprogram.option('--local', 'Use local registry instead of remote API');\n\n// Add commands\nprogram.addCommand(appsCommand);\nprogram.addCommand(developersCommand);\nprogram.addCommand(attestationsCommand);\nprogram.addCommand(healthCommand);\nprogram.addCommand(ipfsCommand);\nprogram.addCommand(localCommand);\nprogram.addCommand(bundleCommand);\n\n// Global error handler\nprogram.exitOverride();\n\ntry {\n program.parse();\n} catch (err) {\n if (err instanceof Error) {\n console.error(chalk.red('Error:'), err.message);\n } else {\n console.error(chalk.red('Unknown error occurred'));\n }\n process.exit(1);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/.pnpm/delayed-stream@1.0.0/node_modules/delayed-stream/lib/delayed_stream.js","../../../node_modules/.pnpm/combined-stream@1.0.8/node_modules/combined-stream/lib/combined_stream.js","../../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json","../../../node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js","../../../node_modules/.pnpm/mime-types@2.1.35/node_modules/mime-types/index.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/defer.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/async.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/abort.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/iterate.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/state.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/lib/terminator.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/parallel.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serialOrdered.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/serial.js","../../../node_modules/.pnpm/asynckit@0.4.0/node_modules/asynckit/index.js","../../../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js","../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js","../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js","../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js","../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js","../../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js","../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js","../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js","../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js","../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js","../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js","../../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js","../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js","../../../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js","../../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js","../../../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js","../../../node_modules/.pnpm/es-set-tostringtag@2.1.0/node_modules/es-set-tostringtag/index.js","../../../node_modules/.pnpm/form-data@4.0.5/node_modules/form-data/lib/populate.js","../../../node_modules/.pnpm/form-data@4.0.5/node_modules/form-data/lib/form_data.js","../../../node_modules/.pnpm/proxy-from-env@1.1.0/node_modules/proxy-from-env/index.js","../../../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js","../../../node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/common.js","../../../node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/browser.js","../../../node_modules/.pnpm/has-flag@3.0.0/node_modules/has-flag/index.js","../../../node_modules/.pnpm/supports-color@5.5.0/node_modules/supports-color/index.js","../../../node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/node.js","../../../node_modules/.pnpm/debug@4.4.3_supports-color@5.5.0/node_modules/debug/src/index.js","../../../node_modules/.pnpm/follow-redirects@1.15.11/node_modules/follow-redirects/debug.js","../../../node_modules/.pnpm/follow-redirects@1.15.11/node_modules/follow-redirects/index.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/bind.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/utils.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/AxiosError.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/node/classes/FormData.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/toFormData.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/buildURL.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/InterceptorManager.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/defaults/transitional.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/node/classes/URLSearchParams.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/node/index.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/common/utils.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/platform/index.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/formDataToJSON.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/defaults/index.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/parseHeaders.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/AxiosHeaders.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/transformData.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/cancel/isCancel.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/cancel/CanceledError.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/settle.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/combineURLs.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/buildFullPath.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/http.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/env/data.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/parseProtocol.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/fromDataURI.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/AxiosTransformStream.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/readBlob.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/formDataToStream.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/callbackify.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/speedometer.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/throttle.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/progressEventReducer.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/cookies.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/mergeConfig.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/resolveConfig.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/xhr.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/composeSignals.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/trackStream.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/fetch.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/adapters/adapters.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/dispatchRequest.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/validator.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/core/Axios.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/cancel/CancelToken.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/spread.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/isAxiosError.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/helpers/HttpStatusCode.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/lib/axios.js","../../../node_modules/.pnpm/axios@1.13.2/node_modules/axios/index.js","../../client-library/src/client.ts","../src/lib/local-config.ts","../src/lib/local-storage.ts","../src/lib/local-artifacts.ts","../src/lib/registry-client.ts","../src/commands/apps.ts","../src/commands/developers.ts","../src/commands/attestations.ts","../src/commands/health.ts","../src/lib/ipfs.ts","../src/utils/spinner.ts","../src/commands/ipfs.ts","../src/lib/local-server.ts","../src/commands/local.ts","../src/lib/remote-config.ts","../src/commands/bundle.ts","../src/commands/config.ts","../src/index.ts"],"names":["exports","util","stream","self","charset","path","extension","iterator","isNaN","concatty","slicy","bind","Empty","undefined","doEval","stringToPath","getBaseIntrinsic","require_shams","toStringTag","http","https","fs","crypto","FormData","append","defaults","url","extend","os","useColors","URL","isFunction","noop","isString","isBuffer","spread","prototype","descriptors","filter","hasOwnProperty","toString","encode","isFormData","isFileList","transitional","validateStatus","followRedirects","proxyFromEnv","data","origin","merge","signal","done","ReadableStream","TextEncoder","fetch","adapter","validators","create","Axios","AxiosError","CanceledError","isCancel","CancelToken","VERSION","all","isAxiosError","toFormData","AxiosHeaders","HttpStatusCode","getAdapter","mergeConfig","spinner","ora","chalk","Command","table"],"mappings":"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","file":"index.js","sourcesContent":["var Stream = require('stream').Stream;\nvar util = require('util');\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n","var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n","{\n \"application/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"application/3gpdash-qoe-report+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/3gpp-ims+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/3gpphalforms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/a2l\": {\n \"source\": \"iana\"\n },\n \"application/ace+cbor\": {\n \"source\": \"iana\"\n },\n \"application/activemessage\": {\n \"source\": \"iana\"\n },\n \"application/activity+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-costmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-directory+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcost+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointcostparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointprop+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-endpointpropparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-error+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-networkmapfilter+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamcontrol+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/alto-updatestreamparams+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/aml\": {\n \"source\": \"iana\"\n },\n \"application/andrew-inset\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez\"]\n },\n \"application/applefile\": {\n \"source\": \"iana\"\n },\n \"application/applixware\": {\n \"source\": \"apache\",\n \"extensions\": [\"aw\"]\n },\n \"application/at+jwt\": {\n \"source\": \"iana\"\n },\n \"application/atf\": {\n \"source\": \"iana\"\n },\n \"application/atfx\": {\n \"source\": \"iana\"\n },\n \"application/atom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atom\"]\n },\n \"application/atomcat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomcat\"]\n },\n \"application/atomdeleted+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomdeleted\"]\n },\n \"application/atomicmail\": {\n \"source\": \"iana\"\n },\n \"application/atomsvc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"atomsvc\"]\n },\n \"application/atsc-dwd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dwd\"]\n },\n \"application/atsc-dynamic-event-message\": {\n \"source\": \"iana\"\n },\n \"application/atsc-held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"held\"]\n },\n \"application/atsc-rdt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/atsc-rsat+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsat\"]\n },\n \"application/atxml\": {\n \"source\": \"iana\"\n },\n \"application/auth-policy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/bacnet-xdd+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/batch-smtp\": {\n \"source\": \"iana\"\n },\n \"application/bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/beep+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/calendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/calendar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xcs\"]\n },\n \"application/call-completion\": {\n \"source\": \"iana\"\n },\n \"application/cals-1840\": {\n \"source\": \"iana\"\n },\n \"application/captive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cbor\": {\n \"source\": \"iana\"\n },\n \"application/cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/cccex\": {\n \"source\": \"iana\"\n },\n \"application/ccmp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ccxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ccxml\"]\n },\n \"application/cdfx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdfx\"]\n },\n \"application/cdmi-capability\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmia\"]\n },\n \"application/cdmi-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmic\"]\n },\n \"application/cdmi-domain\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmid\"]\n },\n \"application/cdmi-object\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmio\"]\n },\n \"application/cdmi-queue\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdmiq\"]\n },\n \"application/cdni\": {\n \"source\": \"iana\"\n },\n \"application/cea\": {\n \"source\": \"iana\"\n },\n \"application/cea-2018+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cellml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cfw\": {\n \"source\": \"iana\"\n },\n \"application/city+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clr\": {\n \"source\": \"iana\"\n },\n \"application/clue+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/clue_info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cms\": {\n \"source\": \"iana\"\n },\n \"application/cnrp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-group+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/coap-payload\": {\n \"source\": \"iana\"\n },\n \"application/commonground\": {\n \"source\": \"iana\"\n },\n \"application/conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cose\": {\n \"source\": \"iana\"\n },\n \"application/cose-key\": {\n \"source\": \"iana\"\n },\n \"application/cose-key-set\": {\n \"source\": \"iana\"\n },\n \"application/cpl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cpl\"]\n },\n \"application/csrattrs\": {\n \"source\": \"iana\"\n },\n \"application/csta+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cstadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/csvm+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/cu-seeme\": {\n \"source\": \"apache\",\n \"extensions\": [\"cu\"]\n },\n \"application/cwt\": {\n \"source\": \"iana\"\n },\n \"application/cybercash\": {\n \"source\": \"iana\"\n },\n \"application/dart\": {\n \"compressible\": true\n },\n \"application/dash+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpd\"]\n },\n \"application/dash-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpp\"]\n },\n \"application/dashdelta\": {\n \"source\": \"iana\"\n },\n \"application/davmount+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"davmount\"]\n },\n \"application/dca-rft\": {\n \"source\": \"iana\"\n },\n \"application/dcd\": {\n \"source\": \"iana\"\n },\n \"application/dec-dx\": {\n \"source\": \"iana\"\n },\n \"application/dialog-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom\": {\n \"source\": \"iana\"\n },\n \"application/dicom+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dicom+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dii\": {\n \"source\": \"iana\"\n },\n \"application/dit\": {\n \"source\": \"iana\"\n },\n \"application/dns\": {\n \"source\": \"iana\"\n },\n \"application/dns+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dns-message\": {\n \"source\": \"iana\"\n },\n \"application/docbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dbk\"]\n },\n \"application/dots+cbor\": {\n \"source\": \"iana\"\n },\n \"application/dskpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/dssc+der\": {\n \"source\": \"iana\",\n \"extensions\": [\"dssc\"]\n },\n \"application/dssc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdssc\"]\n },\n \"application/dvcs\": {\n \"source\": \"iana\"\n },\n \"application/ecmascript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es\",\"ecma\"]\n },\n \"application/edi-consent\": {\n \"source\": \"iana\"\n },\n \"application/edi-x12\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/edifact\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/efi\": {\n \"source\": \"iana\"\n },\n \"application/elm+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/elm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.cap+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/emergencycalldata.comment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.deviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.ecall.msd\": {\n \"source\": \"iana\"\n },\n \"application/emergencycalldata.providerinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.serviceinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.subscriberinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emergencycalldata.veds+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/emma+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emma\"]\n },\n \"application/emotionml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"emotionml\"]\n },\n \"application/encaprtp\": {\n \"source\": \"iana\"\n },\n \"application/epp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/epub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"epub\"]\n },\n \"application/eshop\": {\n \"source\": \"iana\"\n },\n \"application/exi\": {\n \"source\": \"iana\",\n \"extensions\": [\"exi\"]\n },\n \"application/expect-ct-report+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/express\": {\n \"source\": \"iana\",\n \"extensions\": [\"exp\"]\n },\n \"application/fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/fastsoap\": {\n \"source\": \"iana\"\n },\n \"application/fdt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fdt\"]\n },\n \"application/fhir+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fhir+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/fido.trusted-apps+json\": {\n \"compressible\": true\n },\n \"application/fits\": {\n \"source\": \"iana\"\n },\n \"application/flexfec\": {\n \"source\": \"iana\"\n },\n \"application/font-sfnt\": {\n \"source\": \"iana\"\n },\n \"application/font-tdpfr\": {\n \"source\": \"iana\",\n \"extensions\": [\"pfr\"]\n },\n \"application/font-woff\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/framework-attributes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"geojson\"]\n },\n \"application/geo+json-seq\": {\n \"source\": \"iana\"\n },\n \"application/geopackage+sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/geoxacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/gltf-buffer\": {\n \"source\": \"iana\"\n },\n \"application/gml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gml\"]\n },\n \"application/gpx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"gpx\"]\n },\n \"application/gxf\": {\n \"source\": \"apache\",\n \"extensions\": [\"gxf\"]\n },\n \"application/gzip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gz\"]\n },\n \"application/h224\": {\n \"source\": \"iana\"\n },\n \"application/held+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/hjson\": {\n \"extensions\": [\"hjson\"]\n },\n \"application/http\": {\n \"source\": \"iana\"\n },\n \"application/hyperstudio\": {\n \"source\": \"iana\",\n \"extensions\": [\"stk\"]\n },\n \"application/ibe-key-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pkg-reply+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ibe-pp-data\": {\n \"source\": \"iana\"\n },\n \"application/iges\": {\n \"source\": \"iana\"\n },\n \"application/im-iscomposing+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/index\": {\n \"source\": \"iana\"\n },\n \"application/index.cmd\": {\n \"source\": \"iana\"\n },\n \"application/index.obj\": {\n \"source\": \"iana\"\n },\n \"application/index.response\": {\n \"source\": \"iana\"\n },\n \"application/index.vnd\": {\n \"source\": \"iana\"\n },\n \"application/inkml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ink\",\"inkml\"]\n },\n \"application/iotp\": {\n \"source\": \"iana\"\n },\n \"application/ipfix\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipfix\"]\n },\n \"application/ipp\": {\n \"source\": \"iana\"\n },\n \"application/isup\": {\n \"source\": \"iana\"\n },\n \"application/its+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"its\"]\n },\n \"application/java-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jar\",\"war\",\"ear\"]\n },\n \"application/java-serialized-object\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"ser\"]\n },\n \"application/java-vm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"class\"]\n },\n \"application/javascript\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"js\",\"mjs\"]\n },\n \"application/jf2feed+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jose\": {\n \"source\": \"iana\"\n },\n \"application/jose+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jrd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jscalendar+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"json\",\"map\"]\n },\n \"application/json-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/json-seq\": {\n \"source\": \"iana\"\n },\n \"application/json5\": {\n \"extensions\": [\"json5\"]\n },\n \"application/jsonml+json\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"jsonml\"]\n },\n \"application/jwk+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwk-set+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/jwt\": {\n \"source\": \"iana\"\n },\n \"application/kpml-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/kpml-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/ld+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"jsonld\"]\n },\n \"application/lgr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lgr\"]\n },\n \"application/link-format\": {\n \"source\": \"iana\"\n },\n \"application/load-control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lost+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lostxml\"]\n },\n \"application/lostsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/lpf+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/lxf\": {\n \"source\": \"iana\"\n },\n \"application/mac-binhex40\": {\n \"source\": \"iana\",\n \"extensions\": [\"hqx\"]\n },\n \"application/mac-compactpro\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpt\"]\n },\n \"application/macwriteii\": {\n \"source\": \"iana\"\n },\n \"application/mads+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mads\"]\n },\n \"application/manifest+json\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"webmanifest\"]\n },\n \"application/marc\": {\n \"source\": \"iana\",\n \"extensions\": [\"mrc\"]\n },\n \"application/marcxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mrcx\"]\n },\n \"application/mathematica\": {\n \"source\": \"iana\",\n \"extensions\": [\"ma\",\"nb\",\"mb\"]\n },\n \"application/mathml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mathml\"]\n },\n \"application/mathml-content+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mathml-presentation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-associated-procedure-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-deregister+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-envelope+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-msk-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-protection-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-reception-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-register-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-schedule+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbms-user-service-description+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mbox\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbox\"]\n },\n \"application/media-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpf\"]\n },\n \"application/media_control+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mediaservercontrol+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mscml\"]\n },\n \"application/merge-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/metalink+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"metalink\"]\n },\n \"application/metalink4+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"meta4\"]\n },\n \"application/mets+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mets\"]\n },\n \"application/mf4\": {\n \"source\": \"iana\"\n },\n \"application/mikey\": {\n \"source\": \"iana\"\n },\n \"application/mipc\": {\n \"source\": \"iana\"\n },\n \"application/missing-blocks+cbor-seq\": {\n \"source\": \"iana\"\n },\n \"application/mmt-aei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"maei\"]\n },\n \"application/mmt-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musd\"]\n },\n \"application/mods+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mods\"]\n },\n \"application/moss-keys\": {\n \"source\": \"iana\"\n },\n \"application/moss-signature\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-data\": {\n \"source\": \"iana\"\n },\n \"application/mosskey-request\": {\n \"source\": \"iana\"\n },\n \"application/mp21\": {\n \"source\": \"iana\",\n \"extensions\": [\"m21\",\"mp21\"]\n },\n \"application/mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"mp4s\",\"m4p\"]\n },\n \"application/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod\": {\n \"source\": \"iana\"\n },\n \"application/mpeg4-iod-xmt\": {\n \"source\": \"iana\"\n },\n \"application/mrb-consumer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/mrb-publish+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/msc-ivr+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msc-mixer+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/msword\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"doc\",\"dot\"]\n },\n \"application/mud+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/multipart-core\": {\n \"source\": \"iana\"\n },\n \"application/mxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxf\"]\n },\n \"application/n-quads\": {\n \"source\": \"iana\",\n \"extensions\": [\"nq\"]\n },\n \"application/n-triples\": {\n \"source\": \"iana\",\n \"extensions\": [\"nt\"]\n },\n \"application/nasdata\": {\n \"source\": \"iana\"\n },\n \"application/news-checkgroups\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-groupinfo\": {\n \"source\": \"iana\",\n \"charset\": \"US-ASCII\"\n },\n \"application/news-transmission\": {\n \"source\": \"iana\"\n },\n \"application/nlsml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/node\": {\n \"source\": \"iana\",\n \"extensions\": [\"cjs\"]\n },\n \"application/nss\": {\n \"source\": \"iana\"\n },\n \"application/oauth-authz-req+jwt\": {\n \"source\": \"iana\"\n },\n \"application/oblivious-dns-message\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-request\": {\n \"source\": \"iana\"\n },\n \"application/ocsp-response\": {\n \"source\": \"iana\"\n },\n \"application/octet-stream\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]\n },\n \"application/oda\": {\n \"source\": \"iana\",\n \"extensions\": [\"oda\"]\n },\n \"application/odm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/odx\": {\n \"source\": \"iana\"\n },\n \"application/oebps-package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"opf\"]\n },\n \"application/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogx\"]\n },\n \"application/omdoc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"omdoc\"]\n },\n \"application/onenote\": {\n \"source\": \"apache\",\n \"extensions\": [\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]\n },\n \"application/opc-nodeset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/oscore\": {\n \"source\": \"iana\"\n },\n \"application/oxps\": {\n \"source\": \"iana\",\n \"extensions\": [\"oxps\"]\n },\n \"application/p21\": {\n \"source\": \"iana\"\n },\n \"application/p21+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/p2p-overlay+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"relo\"]\n },\n \"application/parityfec\": {\n \"source\": \"iana\"\n },\n \"application/passport\": {\n \"source\": \"iana\"\n },\n \"application/patch-ops-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xer\"]\n },\n \"application/pdf\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pdf\"]\n },\n \"application/pdx\": {\n \"source\": \"iana\"\n },\n \"application/pem-certificate-chain\": {\n \"source\": \"iana\"\n },\n \"application/pgp-encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pgp\"]\n },\n \"application/pgp-keys\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\"]\n },\n \"application/pgp-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"asc\",\"sig\"]\n },\n \"application/pics-rules\": {\n \"source\": \"apache\",\n \"extensions\": [\"prf\"]\n },\n \"application/pidf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pidf-diff+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/pkcs10\": {\n \"source\": \"iana\",\n \"extensions\": [\"p10\"]\n },\n \"application/pkcs12\": {\n \"source\": \"iana\"\n },\n \"application/pkcs7-mime\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7m\",\"p7c\"]\n },\n \"application/pkcs7-signature\": {\n \"source\": \"iana\",\n \"extensions\": [\"p7s\"]\n },\n \"application/pkcs8\": {\n \"source\": \"iana\",\n \"extensions\": [\"p8\"]\n },\n \"application/pkcs8-encrypted\": {\n \"source\": \"iana\"\n },\n \"application/pkix-attr-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"ac\"]\n },\n \"application/pkix-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"cer\"]\n },\n \"application/pkix-crl\": {\n \"source\": \"iana\",\n \"extensions\": [\"crl\"]\n },\n \"application/pkix-pkipath\": {\n \"source\": \"iana\",\n \"extensions\": [\"pkipath\"]\n },\n \"application/pkixcmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"pki\"]\n },\n \"application/pls+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pls\"]\n },\n \"application/poc-settings+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/postscript\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ai\",\"eps\",\"ps\"]\n },\n \"application/ppsp-tracker+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/problem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/provenance+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"provx\"]\n },\n \"application/prs.alvestrand.titrax-sheet\": {\n \"source\": \"iana\"\n },\n \"application/prs.cww\": {\n \"source\": \"iana\",\n \"extensions\": [\"cww\"]\n },\n \"application/prs.cyn\": {\n \"source\": \"iana\",\n \"charset\": \"7-BIT\"\n },\n \"application/prs.hpub+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/prs.nprend\": {\n \"source\": \"iana\"\n },\n \"application/prs.plucker\": {\n \"source\": \"iana\"\n },\n \"application/prs.rdf-xml-crypt\": {\n \"source\": \"iana\"\n },\n \"application/prs.xsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/pskc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"pskcxml\"]\n },\n \"application/pvd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/qsig\": {\n \"source\": \"iana\"\n },\n \"application/raml+yaml\": {\n \"compressible\": true,\n \"extensions\": [\"raml\"]\n },\n \"application/raptorfec\": {\n \"source\": \"iana\"\n },\n \"application/rdap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rdf\",\"owl\"]\n },\n \"application/reginfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rif\"]\n },\n \"application/relax-ng-compact-syntax\": {\n \"source\": \"iana\",\n \"extensions\": [\"rnc\"]\n },\n \"application/remote-printing\": {\n \"source\": \"iana\"\n },\n \"application/reputon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/resource-lists+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rl\"]\n },\n \"application/resource-lists-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rld\"]\n },\n \"application/rfc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/riscos\": {\n \"source\": \"iana\"\n },\n \"application/rlmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/rls-services+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rs\"]\n },\n \"application/route-apd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rapd\"]\n },\n \"application/route-s-tsid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sls\"]\n },\n \"application/route-usd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rusd\"]\n },\n \"application/rpki-ghostbusters\": {\n \"source\": \"iana\",\n \"extensions\": [\"gbr\"]\n },\n \"application/rpki-manifest\": {\n \"source\": \"iana\",\n \"extensions\": [\"mft\"]\n },\n \"application/rpki-publication\": {\n \"source\": \"iana\"\n },\n \"application/rpki-roa\": {\n \"source\": \"iana\",\n \"extensions\": [\"roa\"]\n },\n \"application/rpki-updown\": {\n \"source\": \"iana\"\n },\n \"application/rsd+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rsd\"]\n },\n \"application/rss+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"rss\"]\n },\n \"application/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"application/rtploopback\": {\n \"source\": \"iana\"\n },\n \"application/rtx\": {\n \"source\": \"iana\"\n },\n \"application/samlassertion+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/samlmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sarif-external-properties+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sbe\": {\n \"source\": \"iana\"\n },\n \"application/sbml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sbml\"]\n },\n \"application/scaip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scim+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/scvp-cv-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"scq\"]\n },\n \"application/scvp-cv-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"scs\"]\n },\n \"application/scvp-vp-request\": {\n \"source\": \"iana\",\n \"extensions\": [\"spq\"]\n },\n \"application/scvp-vp-response\": {\n \"source\": \"iana\",\n \"extensions\": [\"spp\"]\n },\n \"application/sdp\": {\n \"source\": \"iana\",\n \"extensions\": [\"sdp\"]\n },\n \"application/secevent+jwt\": {\n \"source\": \"iana\"\n },\n \"application/senml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"senmlx\"]\n },\n \"application/senml-etch+cbor\": {\n \"source\": \"iana\"\n },\n \"application/senml-etch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/senml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sensml+cbor\": {\n \"source\": \"iana\"\n },\n \"application/sensml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sensml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sensmlx\"]\n },\n \"application/sensml-exi\": {\n \"source\": \"iana\"\n },\n \"application/sep+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sep-exi\": {\n \"source\": \"iana\"\n },\n \"application/session-info\": {\n \"source\": \"iana\"\n },\n \"application/set-payment\": {\n \"source\": \"iana\"\n },\n \"application/set-payment-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setpay\"]\n },\n \"application/set-registration\": {\n \"source\": \"iana\"\n },\n \"application/set-registration-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"setreg\"]\n },\n \"application/sgml\": {\n \"source\": \"iana\"\n },\n \"application/sgml-open-catalog\": {\n \"source\": \"iana\"\n },\n \"application/shf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"shf\"]\n },\n \"application/sieve\": {\n \"source\": \"iana\",\n \"extensions\": [\"siv\",\"sieve\"]\n },\n \"application/simple-filter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/simple-message-summary\": {\n \"source\": \"iana\"\n },\n \"application/simplesymbolcontainer\": {\n \"source\": \"iana\"\n },\n \"application/sipc\": {\n \"source\": \"iana\"\n },\n \"application/slate\": {\n \"source\": \"iana\"\n },\n \"application/smil\": {\n \"source\": \"iana\"\n },\n \"application/smil+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"smi\",\"smil\"]\n },\n \"application/smpte336m\": {\n \"source\": \"iana\"\n },\n \"application/soap+fastinfoset\": {\n \"source\": \"iana\"\n },\n \"application/soap+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sparql-query\": {\n \"source\": \"iana\",\n \"extensions\": [\"rq\"]\n },\n \"application/sparql-results+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"srx\"]\n },\n \"application/spdx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/spirits-event+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/sql\": {\n \"source\": \"iana\"\n },\n \"application/srgs\": {\n \"source\": \"iana\",\n \"extensions\": [\"gram\"]\n },\n \"application/srgs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"grxml\"]\n },\n \"application/sru+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sru\"]\n },\n \"application/ssdl+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ssdl\"]\n },\n \"application/ssml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ssml\"]\n },\n \"application/stix+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/swid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"swidtag\"]\n },\n \"application/tamp-apex-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-apex-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-community-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-error\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust\": {\n \"source\": \"iana\"\n },\n \"application/tamp-sequence-adjust-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-query\": {\n \"source\": \"iana\"\n },\n \"application/tamp-status-response\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update\": {\n \"source\": \"iana\"\n },\n \"application/tamp-update-confirm\": {\n \"source\": \"iana\"\n },\n \"application/tar\": {\n \"compressible\": true\n },\n \"application/taxii+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/td+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tei+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tei\",\"teicorpus\"]\n },\n \"application/tetra_isi\": {\n \"source\": \"iana\"\n },\n \"application/thraud+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tfi\"]\n },\n \"application/timestamp-query\": {\n \"source\": \"iana\"\n },\n \"application/timestamp-reply\": {\n \"source\": \"iana\"\n },\n \"application/timestamped-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"tsd\"]\n },\n \"application/tlsrpt+gzip\": {\n \"source\": \"iana\"\n },\n \"application/tlsrpt+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/tnauthlist\": {\n \"source\": \"iana\"\n },\n \"application/token-introspection+jwt\": {\n \"source\": \"iana\"\n },\n \"application/toml\": {\n \"compressible\": true,\n \"extensions\": [\"toml\"]\n },\n \"application/trickle-ice-sdpfrag\": {\n \"source\": \"iana\"\n },\n \"application/trig\": {\n \"source\": \"iana\",\n \"extensions\": [\"trig\"]\n },\n \"application/ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttml\"]\n },\n \"application/tve-trigger\": {\n \"source\": \"iana\"\n },\n \"application/tzif\": {\n \"source\": \"iana\"\n },\n \"application/tzif-leap\": {\n \"source\": \"iana\"\n },\n \"application/ubjson\": {\n \"compressible\": false,\n \"extensions\": [\"ubj\"]\n },\n \"application/ulpfec\": {\n \"source\": \"iana\"\n },\n \"application/urc-grpsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/urc-ressheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rsheet\"]\n },\n \"application/urc-targetdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"td\"]\n },\n \"application/urc-uisocketdesc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vcard+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vemmi\": {\n \"source\": \"iana\"\n },\n \"application/vividence.scriptfile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.1000minds.decision-model+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"1km\"]\n },\n \"application/vnd.3gpp-prose+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-prose-pc3ch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp-v2x-local-service-information\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.5gnas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.access-transfer-events+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.bsf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gmop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.gtpc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.interworking-data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.lpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mc-signalling-ear\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-payload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-signalling\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.mcdata-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcdata-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-floor-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-signed+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-ue-init-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcptt-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-command+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-affiliation-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-location-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-mbms-usage-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-service-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-transmission-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-ue-config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mcvideo-user-profile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.mid-call+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ngap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pfcp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.pic-bw-large\": {\n \"source\": \"iana\",\n \"extensions\": [\"plb\"]\n },\n \"application/vnd.3gpp.pic-bw-small\": {\n \"source\": \"iana\",\n \"extensions\": [\"psb\"]\n },\n \"application/vnd.3gpp.pic-bw-var\": {\n \"source\": \"iana\",\n \"extensions\": [\"pvb\"]\n },\n \"application/vnd.3gpp.s1ap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp.sms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-ext+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.srvcc-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.state-and-event-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp.ussd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.bcmcsinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.3gpp2.sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3gpp2.tcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tcap\"]\n },\n \"application/vnd.3lightssoftware.imagescal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.3m.post-it-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"pwn\"]\n },\n \"application/vnd.accpac.simply.aso\": {\n \"source\": \"iana\",\n \"extensions\": [\"aso\"]\n },\n \"application/vnd.accpac.simply.imp\": {\n \"source\": \"iana\",\n \"extensions\": [\"imp\"]\n },\n \"application/vnd.acucobol\": {\n \"source\": \"iana\",\n \"extensions\": [\"acu\"]\n },\n \"application/vnd.acucorp\": {\n \"source\": \"iana\",\n \"extensions\": [\"atc\",\"acutc\"]\n },\n \"application/vnd.adobe.air-application-installer-package+zip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"air\"]\n },\n \"application/vnd.adobe.flash.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.formscentral.fcdt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcdt\"]\n },\n \"application/vnd.adobe.fxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fxp\",\"fxpl\"]\n },\n \"application/vnd.adobe.partial-upload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.adobe.xdp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdp\"]\n },\n \"application/vnd.adobe.xfdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdf\"]\n },\n \"application/vnd.aether.imp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.afplinedata-pagedef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.cmoca-cmresource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-charset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codedfont\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.foca-codepage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-cmtable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-formdef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-mediummap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-objectcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-overlay\": {\n \"source\": \"iana\"\n },\n \"application/vnd.afpc.modca-pagesegment\": {\n \"source\": \"iana\"\n },\n \"application/vnd.age\": {\n \"source\": \"iana\",\n \"extensions\": [\"age\"]\n },\n \"application/vnd.ah-barcode\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ahead.space\": {\n \"source\": \"iana\",\n \"extensions\": [\"ahead\"]\n },\n \"application/vnd.airzip.filesecure.azf\": {\n \"source\": \"iana\",\n \"extensions\": [\"azf\"]\n },\n \"application/vnd.airzip.filesecure.azs\": {\n \"source\": \"iana\",\n \"extensions\": [\"azs\"]\n },\n \"application/vnd.amadeus+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.amazon.ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"azw\"]\n },\n \"application/vnd.amazon.mobi8-ebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.americandynamics.acc\": {\n \"source\": \"iana\",\n \"extensions\": [\"acc\"]\n },\n \"application/vnd.amiga.ami\": {\n \"source\": \"iana\",\n \"extensions\": [\"ami\"]\n },\n \"application/vnd.amundsen.maze+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.android.ota\": {\n \"source\": \"iana\"\n },\n \"application/vnd.android.package-archive\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"apk\"]\n },\n \"application/vnd.anki\": {\n \"source\": \"iana\"\n },\n \"application/vnd.anser-web-certificate-issue-initiation\": {\n \"source\": \"iana\",\n \"extensions\": [\"cii\"]\n },\n \"application/vnd.anser-web-funds-transfer-initiation\": {\n \"source\": \"apache\",\n \"extensions\": [\"fti\"]\n },\n \"application/vnd.antix.game-component\": {\n \"source\": \"iana\",\n \"extensions\": [\"atx\"]\n },\n \"application/vnd.apache.arrow.file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.arrow.stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.compact\": {\n \"source\": \"iana\"\n },\n \"application/vnd.apache.thrift.json\": {\n \"source\": \"iana\"\n },\n \"application/vnd.api+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.aplextor.warrp+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apothekende.reservation+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.apple.installer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mpkg\"]\n },\n \"application/vnd.apple.keynote\": {\n \"source\": \"iana\",\n \"extensions\": [\"key\"]\n },\n \"application/vnd.apple.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"m3u8\"]\n },\n \"application/vnd.apple.numbers\": {\n \"source\": \"iana\",\n \"extensions\": [\"numbers\"]\n },\n \"application/vnd.apple.pages\": {\n \"source\": \"iana\",\n \"extensions\": [\"pages\"]\n },\n \"application/vnd.apple.pkpass\": {\n \"compressible\": false,\n \"extensions\": [\"pkpass\"]\n },\n \"application/vnd.arastra.swi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.aristanetworks.swi\": {\n \"source\": \"iana\",\n \"extensions\": [\"swi\"]\n },\n \"application/vnd.artisan+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.artsquare\": {\n \"source\": \"iana\"\n },\n \"application/vnd.astraea-software.iota\": {\n \"source\": \"iana\",\n \"extensions\": [\"iota\"]\n },\n \"application/vnd.audiograph\": {\n \"source\": \"iana\",\n \"extensions\": [\"aep\"]\n },\n \"application/vnd.autopackage\": {\n \"source\": \"iana\"\n },\n \"application/vnd.avalon+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.avistar+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.balsamiq.bmml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmml\"]\n },\n \"application/vnd.balsamiq.bmpr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.banana-accounting\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.error\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bbf.usp.msg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bekitzur-stech+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.bint.med-content\": {\n \"source\": \"iana\"\n },\n \"application/vnd.biopax.rdf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.blink-idb-value-wrapper\": {\n \"source\": \"iana\"\n },\n \"application/vnd.blueice.multipass\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpm\"]\n },\n \"application/vnd.bluetooth.ep.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bluetooth.le.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bmi\": {\n \"source\": \"iana\",\n \"extensions\": [\"bmi\"]\n },\n \"application/vnd.bpf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.bpf3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.businessobjects\": {\n \"source\": \"iana\",\n \"extensions\": [\"rep\"]\n },\n \"application/vnd.byu.uapi+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cab-jscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-cpdl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.canon-lips\": {\n \"source\": \"iana\"\n },\n \"application/vnd.capasystems-pg+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cendio.thinlinc.clientconf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.century-systems.tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chemdraw+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"cdxml\"]\n },\n \"application/vnd.chess-pgn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.chipnuts.karaoke-mmd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmd\"]\n },\n \"application/vnd.ciedi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cinderella\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdy\"]\n },\n \"application/vnd.cirpack.isdn-ext\": {\n \"source\": \"iana\"\n },\n \"application/vnd.citationstyles.style+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csl\"]\n },\n \"application/vnd.claymore\": {\n \"source\": \"iana\",\n \"extensions\": [\"cla\"]\n },\n \"application/vnd.cloanto.rp9\": {\n \"source\": \"iana\",\n \"extensions\": [\"rp9\"]\n },\n \"application/vnd.clonk.c4group\": {\n \"source\": \"iana\",\n \"extensions\": [\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]\n },\n \"application/vnd.cluetrust.cartomobile-config\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amc\"]\n },\n \"application/vnd.cluetrust.cartomobile-config-pkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"c11amz\"]\n },\n \"application/vnd.coffeescript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.document-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.presentation-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collabio.xodocuments.spreadsheet-template\": {\n \"source\": \"iana\"\n },\n \"application/vnd.collection+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.doc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.collection.next+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.comicbook+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.comicbook-rar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commerce-battelle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.commonspace\": {\n \"source\": \"iana\",\n \"extensions\": [\"csp\"]\n },\n \"application/vnd.contact.cmsg\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdbcmsg\"]\n },\n \"application/vnd.coreos.ignition+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cosmocaller\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmc\"]\n },\n \"application/vnd.crick.clicker\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkx\"]\n },\n \"application/vnd.crick.clicker.keyboard\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkk\"]\n },\n \"application/vnd.crick.clicker.palette\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkp\"]\n },\n \"application/vnd.crick.clicker.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkt\"]\n },\n \"application/vnd.crick.clicker.wordbank\": {\n \"source\": \"iana\",\n \"extensions\": [\"clkw\"]\n },\n \"application/vnd.criticaltools.wbs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wbs\"]\n },\n \"application/vnd.cryptii.pipe+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.crypto-shade-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cryptomator.vault\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ctc-posml\": {\n \"source\": \"iana\",\n \"extensions\": [\"pml\"]\n },\n \"application/vnd.ctct.ws+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cups-pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-postscript\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-ppd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppd\"]\n },\n \"application/vnd.cups-raster\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cups-raw\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.curl.car\": {\n \"source\": \"apache\",\n \"extensions\": [\"car\"]\n },\n \"application/vnd.curl.pcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcurl\"]\n },\n \"application/vnd.cyan.dean.root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cybank\": {\n \"source\": \"iana\"\n },\n \"application/vnd.cyclonedx+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.cyclonedx+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.d2l.coursepackage1p0+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.d3m-dataset\": {\n \"source\": \"iana\"\n },\n \"application/vnd.d3m-problem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dart\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dart\"]\n },\n \"application/vnd.data-vision.rdz\": {\n \"source\": \"iana\",\n \"extensions\": [\"rdz\"]\n },\n \"application/vnd.datapackage+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dataresource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dbf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dbf\"]\n },\n \"application/vnd.debian.binary-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dece.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]\n },\n \"application/vnd.dece.ttml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uvt\",\"uvvt\"]\n },\n \"application/vnd.dece.unspecified\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvx\",\"uvvx\"]\n },\n \"application/vnd.dece.zip\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvz\",\"uvvz\"]\n },\n \"application/vnd.denovo.fcselayout-link\": {\n \"source\": \"iana\",\n \"extensions\": [\"fe_launch\"]\n },\n \"application/vnd.desmume.movie\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dir-bi.plate-dl-nosuffix\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dm.delegation+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dna\": {\n \"source\": \"iana\",\n \"extensions\": [\"dna\"]\n },\n \"application/vnd.document+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dolby.mlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"mlp\"]\n },\n \"application/vnd.dolby.mobile.1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dolby.mobile.2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.doremir.scorecloud-binary-document\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dpgraph\": {\n \"source\": \"iana\",\n \"extensions\": [\"dpg\"]\n },\n \"application/vnd.dreamfactory\": {\n \"source\": \"iana\",\n \"extensions\": [\"dfac\"]\n },\n \"application/vnd.drive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ds-keypoint\": {\n \"source\": \"apache\",\n \"extensions\": [\"kpxx\"]\n },\n \"application/vnd.dtg.local\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.flash\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dtg.local.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ait\": {\n \"source\": \"iana\",\n \"extensions\": [\"ait\"]\n },\n \"application/vnd.dvb.dvbisl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.dvbj\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.esgcontainer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcdftnotifaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgaccess2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcesgpdd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.ipdcroaming\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-base\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.iptv.alfec-enhancement\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.notif-aggregate-root+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-container+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-generic+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-msglist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-ia-registration-response+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.notif-init+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.dvb.pfr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dvb.service\": {\n \"source\": \"iana\",\n \"extensions\": [\"svc\"]\n },\n \"application/vnd.dxr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.dynageo\": {\n \"source\": \"iana\",\n \"extensions\": [\"geo\"]\n },\n \"application/vnd.dzr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.easykaraoke.cdgdownload\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecdis-update\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecip.rlp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eclipse.ditto+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ecowin.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"mag\"]\n },\n \"application/vnd.ecowin.filerequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.fileupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.series\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesrequest\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ecowin.seriesupdate\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.img\": {\n \"source\": \"iana\"\n },\n \"application/vnd.efi.iso\": {\n \"source\": \"iana\"\n },\n \"application/vnd.emclient.accessrequest+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.enliven\": {\n \"source\": \"iana\",\n \"extensions\": [\"nml\"]\n },\n \"application/vnd.enphase.envoy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eprints.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.epson.esf\": {\n \"source\": \"iana\",\n \"extensions\": [\"esf\"]\n },\n \"application/vnd.epson.msf\": {\n \"source\": \"iana\",\n \"extensions\": [\"msf\"]\n },\n \"application/vnd.epson.quickanime\": {\n \"source\": \"iana\",\n \"extensions\": [\"qam\"]\n },\n \"application/vnd.epson.salt\": {\n \"source\": \"iana\",\n \"extensions\": [\"slt\"]\n },\n \"application/vnd.epson.ssf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ssf\"]\n },\n \"application/vnd.ericsson.quickcall\": {\n \"source\": \"iana\"\n },\n \"application/vnd.espass-espass+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.eszigno3+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"es3\",\"et3\"]\n },\n \"application/vnd.etsi.aoc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.asic-e+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.asic-s+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.etsi.cug+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvcommand+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-bc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-cod+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsad-npvr+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvservice+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvsync+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.iptvueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mcid+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.mheg5\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.overload-control-policy-dataset+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.pstn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.sci+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.simservs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.timestamp-token\": {\n \"source\": \"iana\"\n },\n \"application/vnd.etsi.tsl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.etsi.tsl.der\": {\n \"source\": \"iana\"\n },\n \"application/vnd.eu.kasparian.car+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.eudora.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.profile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.settings\": {\n \"source\": \"iana\"\n },\n \"application/vnd.evolv.ecig.theme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.exstream-empower+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.exstream-package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ezpix-album\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez2\"]\n },\n \"application/vnd.ezpix-package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ez3\"]\n },\n \"application/vnd.f-secure.mobile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.familysearch.gedcom+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.fastcopy-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fdf\": {\n \"source\": \"iana\",\n \"extensions\": [\"fdf\"]\n },\n \"application/vnd.fdsn.mseed\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseed\"]\n },\n \"application/vnd.fdsn.seed\": {\n \"source\": \"iana\",\n \"extensions\": [\"seed\",\"dataless\"]\n },\n \"application/vnd.ffsns\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ficlab.flb+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.filmit.zfc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fints\": {\n \"source\": \"iana\"\n },\n \"application/vnd.firemonkeys.cloudcell\": {\n \"source\": \"iana\"\n },\n \"application/vnd.flographit\": {\n \"source\": \"iana\",\n \"extensions\": [\"gph\"]\n },\n \"application/vnd.fluxtime.clip\": {\n \"source\": \"iana\",\n \"extensions\": [\"ftc\"]\n },\n \"application/vnd.font-fontforge-sfd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.framemaker\": {\n \"source\": \"iana\",\n \"extensions\": [\"fm\",\"frame\",\"maker\",\"book\"]\n },\n \"application/vnd.frogans.fnc\": {\n \"source\": \"iana\",\n \"extensions\": [\"fnc\"]\n },\n \"application/vnd.frogans.ltf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ltf\"]\n },\n \"application/vnd.fsc.weblaunch\": {\n \"source\": \"iana\",\n \"extensions\": [\"fsc\"]\n },\n \"application/vnd.fujifilm.fb.docuworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.binder\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujifilm.fb.jfi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fujitsu.oasys\": {\n \"source\": \"iana\",\n \"extensions\": [\"oas\"]\n },\n \"application/vnd.fujitsu.oasys2\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa2\"]\n },\n \"application/vnd.fujitsu.oasys3\": {\n \"source\": \"iana\",\n \"extensions\": [\"oa3\"]\n },\n \"application/vnd.fujitsu.oasysgp\": {\n \"source\": \"iana\",\n \"extensions\": [\"fg5\"]\n },\n \"application/vnd.fujitsu.oasysprs\": {\n \"source\": \"iana\",\n \"extensions\": [\"bh2\"]\n },\n \"application/vnd.fujixerox.art-ex\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.art4\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.ddd\": {\n \"source\": \"iana\",\n \"extensions\": [\"ddd\"]\n },\n \"application/vnd.fujixerox.docuworks\": {\n \"source\": \"iana\",\n \"extensions\": [\"xdw\"]\n },\n \"application/vnd.fujixerox.docuworks.binder\": {\n \"source\": \"iana\",\n \"extensions\": [\"xbd\"]\n },\n \"application/vnd.fujixerox.docuworks.container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fujixerox.hbpl\": {\n \"source\": \"iana\"\n },\n \"application/vnd.fut-misnet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.futoin+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.fuzzysheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fzs\"]\n },\n \"application/vnd.genomatix.tuxedo\": {\n \"source\": \"iana\",\n \"extensions\": [\"txd\"]\n },\n \"application/vnd.gentics.grd+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geo+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geocube+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.geogebra.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggb\"]\n },\n \"application/vnd.geogebra.slides\": {\n \"source\": \"iana\"\n },\n \"application/vnd.geogebra.tool\": {\n \"source\": \"iana\",\n \"extensions\": [\"ggt\"]\n },\n \"application/vnd.geometry-explorer\": {\n \"source\": \"iana\",\n \"extensions\": [\"gex\",\"gre\"]\n },\n \"application/vnd.geonext\": {\n \"source\": \"iana\",\n \"extensions\": [\"gxt\"]\n },\n \"application/vnd.geoplan\": {\n \"source\": \"iana\",\n \"extensions\": [\"g2w\"]\n },\n \"application/vnd.geospace\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3w\"]\n },\n \"application/vnd.gerber\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.globalplatform.card-content-mgt-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.gmx\": {\n \"source\": \"iana\",\n \"extensions\": [\"gmx\"]\n },\n \"application/vnd.google-apps.document\": {\n \"compressible\": false,\n \"extensions\": [\"gdoc\"]\n },\n \"application/vnd.google-apps.presentation\": {\n \"compressible\": false,\n \"extensions\": [\"gslides\"]\n },\n \"application/vnd.google-apps.spreadsheet\": {\n \"compressible\": false,\n \"extensions\": [\"gsheet\"]\n },\n \"application/vnd.google-earth.kml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"kml\"]\n },\n \"application/vnd.google-earth.kmz\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"kmz\"]\n },\n \"application/vnd.gov.sk.e-form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.gov.sk.e-form+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.gov.sk.xmldatacontainer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.grafeq\": {\n \"source\": \"iana\",\n \"extensions\": [\"gqf\",\"gqs\"]\n },\n \"application/vnd.gridmp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.groove-account\": {\n \"source\": \"iana\",\n \"extensions\": [\"gac\"]\n },\n \"application/vnd.groove-help\": {\n \"source\": \"iana\",\n \"extensions\": [\"ghf\"]\n },\n \"application/vnd.groove-identity-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gim\"]\n },\n \"application/vnd.groove-injector\": {\n \"source\": \"iana\",\n \"extensions\": [\"grv\"]\n },\n \"application/vnd.groove-tool-message\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtm\"]\n },\n \"application/vnd.groove-tool-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpl\"]\n },\n \"application/vnd.groove-vcard\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcg\"]\n },\n \"application/vnd.hal+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"hal\"]\n },\n \"application/vnd.handheld-entertainment+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zmm\"]\n },\n \"application/vnd.hbci\": {\n \"source\": \"iana\",\n \"extensions\": [\"hbci\"]\n },\n \"application/vnd.hc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hcl-bireports\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hdt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.heroku+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hhe.lesson-player\": {\n \"source\": \"iana\",\n \"extensions\": [\"les\"]\n },\n \"application/vnd.hl7cda+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hl7v2+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.hp-hpgl\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpgl\"]\n },\n \"application/vnd.hp-hpid\": {\n \"source\": \"iana\",\n \"extensions\": [\"hpid\"]\n },\n \"application/vnd.hp-hps\": {\n \"source\": \"iana\",\n \"extensions\": [\"hps\"]\n },\n \"application/vnd.hp-jlyt\": {\n \"source\": \"iana\",\n \"extensions\": [\"jlt\"]\n },\n \"application/vnd.hp-pcl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcl\"]\n },\n \"application/vnd.hp-pclxl\": {\n \"source\": \"iana\",\n \"extensions\": [\"pclxl\"]\n },\n \"application/vnd.httphone\": {\n \"source\": \"iana\"\n },\n \"application/vnd.hydrostatix.sof-data\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfd-hdstx\"]\n },\n \"application/vnd.hyper+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyper-item+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hyperdrive+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.hzn-3d-crossword\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.afplinedata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.electronic-media\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ibm.minipay\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpy\"]\n },\n \"application/vnd.ibm.modcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"afp\",\"listafp\",\"list3820\"]\n },\n \"application/vnd.ibm.rights-management\": {\n \"source\": \"iana\",\n \"extensions\": [\"irm\"]\n },\n \"application/vnd.ibm.secure-container\": {\n \"source\": \"iana\",\n \"extensions\": [\"sc\"]\n },\n \"application/vnd.iccprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"icc\",\"icm\"]\n },\n \"application/vnd.ieee.1905\": {\n \"source\": \"iana\"\n },\n \"application/vnd.igloader\": {\n \"source\": \"iana\",\n \"extensions\": [\"igl\"]\n },\n \"application/vnd.imagemeter.folder+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.imagemeter.image+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.immervision-ivp\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivp\"]\n },\n \"application/vnd.immervision-ivu\": {\n \"source\": \"iana\",\n \"extensions\": [\"ivu\"]\n },\n \"application/vnd.ims.imsccv1p1\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.imsccv1p3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ims.lis.v2.result+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolconsumerprofile+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolproxy.id+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ims.lti.v2.toolsettings.simple+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informedcontrol.rms+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.informix-visionary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project\": {\n \"source\": \"iana\"\n },\n \"application/vnd.infotech.project+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.innopath.wamp.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.insors.igm\": {\n \"source\": \"iana\",\n \"extensions\": [\"igm\"]\n },\n \"application/vnd.intercon.formnet\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpw\",\"xpx\"]\n },\n \"application/vnd.intergeo\": {\n \"source\": \"iana\",\n \"extensions\": [\"i2g\"]\n },\n \"application/vnd.intertrust.digibox\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intertrust.nncp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.intu.qbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"qbo\"]\n },\n \"application/vnd.intu.qfx\": {\n \"source\": \"iana\",\n \"extensions\": [\"qfx\"]\n },\n \"application/vnd.iptc.g2.catalogitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.conceptitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.knowledgeitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.newsmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.packageitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.iptc.g2.planningitem+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ipunplugged.rcprofile\": {\n \"source\": \"iana\",\n \"extensions\": [\"rcprofile\"]\n },\n \"application/vnd.irepository.package+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"irp\"]\n },\n \"application/vnd.is-xpr\": {\n \"source\": \"iana\",\n \"extensions\": [\"xpr\"]\n },\n \"application/vnd.isac.fcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"fcs\"]\n },\n \"application/vnd.iso11783-10+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.jam\": {\n \"source\": \"iana\",\n \"extensions\": [\"jam\"]\n },\n \"application/vnd.japannet-directory-service\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-jpnstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-payment-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-registration-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-setstore-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.japannet-verification-wakeup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.jcp.javame.midlet-rms\": {\n \"source\": \"iana\",\n \"extensions\": [\"rms\"]\n },\n \"application/vnd.jisp\": {\n \"source\": \"iana\",\n \"extensions\": [\"jisp\"]\n },\n \"application/vnd.joost.joda-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"joda\"]\n },\n \"application/vnd.jsk.isdn-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.kahootz\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktz\",\"ktr\"]\n },\n \"application/vnd.kde.karbon\": {\n \"source\": \"iana\",\n \"extensions\": [\"karbon\"]\n },\n \"application/vnd.kde.kchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"chrt\"]\n },\n \"application/vnd.kde.kformula\": {\n \"source\": \"iana\",\n \"extensions\": [\"kfo\"]\n },\n \"application/vnd.kde.kivio\": {\n \"source\": \"iana\",\n \"extensions\": [\"flw\"]\n },\n \"application/vnd.kde.kontour\": {\n \"source\": \"iana\",\n \"extensions\": [\"kon\"]\n },\n \"application/vnd.kde.kpresenter\": {\n \"source\": \"iana\",\n \"extensions\": [\"kpr\",\"kpt\"]\n },\n \"application/vnd.kde.kspread\": {\n \"source\": \"iana\",\n \"extensions\": [\"ksp\"]\n },\n \"application/vnd.kde.kword\": {\n \"source\": \"iana\",\n \"extensions\": [\"kwd\",\"kwt\"]\n },\n \"application/vnd.kenameaapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"htke\"]\n },\n \"application/vnd.kidspiration\": {\n \"source\": \"iana\",\n \"extensions\": [\"kia\"]\n },\n \"application/vnd.kinar\": {\n \"source\": \"iana\",\n \"extensions\": [\"kne\",\"knp\"]\n },\n \"application/vnd.koan\": {\n \"source\": \"iana\",\n \"extensions\": [\"skp\",\"skd\",\"skt\",\"skm\"]\n },\n \"application/vnd.kodak-descriptor\": {\n \"source\": \"iana\",\n \"extensions\": [\"sse\"]\n },\n \"application/vnd.las\": {\n \"source\": \"iana\"\n },\n \"application/vnd.las.las+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.las.las+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lasxml\"]\n },\n \"application/vnd.laszip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.leap+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.liberty-request+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.llamagraphics.life-balance.desktop\": {\n \"source\": \"iana\",\n \"extensions\": [\"lbd\"]\n },\n \"application/vnd.llamagraphics.life-balance.exchange+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"lbe\"]\n },\n \"application/vnd.logipipe.circuit+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.loom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.lotus-1-2-3\": {\n \"source\": \"iana\",\n \"extensions\": [\"123\"]\n },\n \"application/vnd.lotus-approach\": {\n \"source\": \"iana\",\n \"extensions\": [\"apr\"]\n },\n \"application/vnd.lotus-freelance\": {\n \"source\": \"iana\",\n \"extensions\": [\"pre\"]\n },\n \"application/vnd.lotus-notes\": {\n \"source\": \"iana\",\n \"extensions\": [\"nsf\"]\n },\n \"application/vnd.lotus-organizer\": {\n \"source\": \"iana\",\n \"extensions\": [\"org\"]\n },\n \"application/vnd.lotus-screencam\": {\n \"source\": \"iana\",\n \"extensions\": [\"scm\"]\n },\n \"application/vnd.lotus-wordpro\": {\n \"source\": \"iana\",\n \"extensions\": [\"lwp\"]\n },\n \"application/vnd.macports.portpkg\": {\n \"source\": \"iana\",\n \"extensions\": [\"portpkg\"]\n },\n \"application/vnd.mapbox-vector-tile\": {\n \"source\": \"iana\",\n \"extensions\": [\"mvt\"]\n },\n \"application/vnd.marlin.drm.actiontoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.conftoken+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.license+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.marlin.drm.mdcf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mason+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.maxar.archive.3tz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"application/vnd.maxmind.maxmind-db\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mcd\": {\n \"source\": \"iana\",\n \"extensions\": [\"mcd\"]\n },\n \"application/vnd.medcalcdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"mc1\"]\n },\n \"application/vnd.mediastation.cdkey\": {\n \"source\": \"iana\",\n \"extensions\": [\"cdkey\"]\n },\n \"application/vnd.meridian-slingshot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mfer\": {\n \"source\": \"iana\",\n \"extensions\": [\"mwf\"]\n },\n \"application/vnd.mfmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"mfm\"]\n },\n \"application/vnd.micro+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.micrografx.flo\": {\n \"source\": \"iana\",\n \"extensions\": [\"flo\"]\n },\n \"application/vnd.micrografx.igx\": {\n \"source\": \"iana\",\n \"extensions\": [\"igx\"]\n },\n \"application/vnd.microsoft.portable-executable\": {\n \"source\": \"iana\"\n },\n \"application/vnd.microsoft.windows.thumbnail-cache\": {\n \"source\": \"iana\"\n },\n \"application/vnd.miele+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.mif\": {\n \"source\": \"iana\",\n \"extensions\": [\"mif\"]\n },\n \"application/vnd.minisoft-hp3000-save\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mitsubishi.misty-guard.trustweb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mobius.daf\": {\n \"source\": \"iana\",\n \"extensions\": [\"daf\"]\n },\n \"application/vnd.mobius.dis\": {\n \"source\": \"iana\",\n \"extensions\": [\"dis\"]\n },\n \"application/vnd.mobius.mbk\": {\n \"source\": \"iana\",\n \"extensions\": [\"mbk\"]\n },\n \"application/vnd.mobius.mqy\": {\n \"source\": \"iana\",\n \"extensions\": [\"mqy\"]\n },\n \"application/vnd.mobius.msl\": {\n \"source\": \"iana\",\n \"extensions\": [\"msl\"]\n },\n \"application/vnd.mobius.plc\": {\n \"source\": \"iana\",\n \"extensions\": [\"plc\"]\n },\n \"application/vnd.mobius.txf\": {\n \"source\": \"iana\",\n \"extensions\": [\"txf\"]\n },\n \"application/vnd.mophun.application\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpn\"]\n },\n \"application/vnd.mophun.certificate\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpc\"]\n },\n \"application/vnd.motorola.flexsuite\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.adsi\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.fis\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.gotap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.kmr\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.ttc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.flexsuite.wem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.motorola.iprm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mozilla.xul+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xul\"]\n },\n \"application/vnd.ms-3mfdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-artgalry\": {\n \"source\": \"iana\",\n \"extensions\": [\"cil\"]\n },\n \"application/vnd.ms-asf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-cab-compressed\": {\n \"source\": \"iana\",\n \"extensions\": [\"cab\"]\n },\n \"application/vnd.ms-color.iccprofile\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-excel\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]\n },\n \"application/vnd.ms-excel.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlam\"]\n },\n \"application/vnd.ms-excel.sheet.binary.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsb\"]\n },\n \"application/vnd.ms-excel.sheet.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xlsm\"]\n },\n \"application/vnd.ms-excel.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltm\"]\n },\n \"application/vnd.ms-fontobject\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eot\"]\n },\n \"application/vnd.ms-htmlhelp\": {\n \"source\": \"iana\",\n \"extensions\": [\"chm\"]\n },\n \"application/vnd.ms-ims\": {\n \"source\": \"iana\",\n \"extensions\": [\"ims\"]\n },\n \"application/vnd.ms-lrm\": {\n \"source\": \"iana\",\n \"extensions\": [\"lrm\"]\n },\n \"application/vnd.ms-office.activex+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-officetheme\": {\n \"source\": \"iana\",\n \"extensions\": [\"thmx\"]\n },\n \"application/vnd.ms-opentype\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-outlook\": {\n \"compressible\": false,\n \"extensions\": [\"msg\"]\n },\n \"application/vnd.ms-package.obfuscated-opentype\": {\n \"source\": \"apache\"\n },\n \"application/vnd.ms-pki.seccat\": {\n \"source\": \"apache\",\n \"extensions\": [\"cat\"]\n },\n \"application/vnd.ms-pki.stl\": {\n \"source\": \"apache\",\n \"extensions\": [\"stl\"]\n },\n \"application/vnd.ms-playready.initiator+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-powerpoint\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ppt\",\"pps\",\"pot\"]\n },\n \"application/vnd.ms-powerpoint.addin.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppam\"]\n },\n \"application/vnd.ms-powerpoint.presentation.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"pptm\"]\n },\n \"application/vnd.ms-powerpoint.slide.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldm\"]\n },\n \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsm\"]\n },\n \"application/vnd.ms-powerpoint.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"potm\"]\n },\n \"application/vnd.ms-printdevicecapabilities+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-printing.printticket+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/vnd.ms-printschematicket+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ms-project\": {\n \"source\": \"iana\",\n \"extensions\": [\"mpp\",\"mpt\"]\n },\n \"application/vnd.ms-tnef\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.nwprinting.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.printerpairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-windows.wsd.oob\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.lic-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-chlg-req\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-wmdrm.meter-resp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ms-word.document.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"docm\"]\n },\n \"application/vnd.ms-word.template.macroenabled.12\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotm\"]\n },\n \"application/vnd.ms-works\": {\n \"source\": \"iana\",\n \"extensions\": [\"wps\",\"wks\",\"wcm\",\"wdb\"]\n },\n \"application/vnd.ms-wpl\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpl\"]\n },\n \"application/vnd.ms-xpsdocument\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xps\"]\n },\n \"application/vnd.msa-disk-image\": {\n \"source\": \"iana\"\n },\n \"application/vnd.mseq\": {\n \"source\": \"iana\",\n \"extensions\": [\"mseq\"]\n },\n \"application/vnd.msign\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator\": {\n \"source\": \"iana\"\n },\n \"application/vnd.multiad.creator.cif\": {\n \"source\": \"iana\"\n },\n \"application/vnd.music-niff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.musician\": {\n \"source\": \"iana\",\n \"extensions\": [\"mus\"]\n },\n \"application/vnd.muvee.style\": {\n \"source\": \"iana\",\n \"extensions\": [\"msty\"]\n },\n \"application/vnd.mynfc\": {\n \"source\": \"iana\",\n \"extensions\": [\"taglet\"]\n },\n \"application/vnd.nacamar.ybrid+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.ncd.control\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ncd.reference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nearst.inv+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nebumind.line\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nervana\": {\n \"source\": \"iana\"\n },\n \"application/vnd.netfpx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.neurolanguage.nlu\": {\n \"source\": \"iana\",\n \"extensions\": [\"nlu\"]\n },\n \"application/vnd.nimn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.nitro.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nintendo.snes.rom\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nitf\": {\n \"source\": \"iana\",\n \"extensions\": [\"ntf\",\"nitf\"]\n },\n \"application/vnd.noblenet-directory\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnd\"]\n },\n \"application/vnd.noblenet-sealer\": {\n \"source\": \"iana\",\n \"extensions\": [\"nns\"]\n },\n \"application/vnd.noblenet-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"nnw\"]\n },\n \"application/vnd.nokia.catalogs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.conml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.iptv.config+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.isds-radio-presets\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.landmark+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.landmarkcollection+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.n-gage.ac+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ac\"]\n },\n \"application/vnd.nokia.n-gage.data\": {\n \"source\": \"iana\",\n \"extensions\": [\"ngdat\"]\n },\n \"application/vnd.nokia.n-gage.symbian.install\": {\n \"source\": \"iana\",\n \"extensions\": [\"n-gage\"]\n },\n \"application/vnd.nokia.ncd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.nokia.pcd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.nokia.radio-preset\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpst\"]\n },\n \"application/vnd.nokia.radio-presets\": {\n \"source\": \"iana\",\n \"extensions\": [\"rpss\"]\n },\n \"application/vnd.novadigm.edm\": {\n \"source\": \"iana\",\n \"extensions\": [\"edm\"]\n },\n \"application/vnd.novadigm.edx\": {\n \"source\": \"iana\",\n \"extensions\": [\"edx\"]\n },\n \"application/vnd.novadigm.ext\": {\n \"source\": \"iana\",\n \"extensions\": [\"ext\"]\n },\n \"application/vnd.ntt-local.content-share\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.file-transfer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.ogw_remote-access\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_remote\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ntt-local.sip-ta_tcp_stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oasis.opendocument.chart\": {\n \"source\": \"iana\",\n \"extensions\": [\"odc\"]\n },\n \"application/vnd.oasis.opendocument.chart-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otc\"]\n },\n \"application/vnd.oasis.opendocument.database\": {\n \"source\": \"iana\",\n \"extensions\": [\"odb\"]\n },\n \"application/vnd.oasis.opendocument.formula\": {\n \"source\": \"iana\",\n \"extensions\": [\"odf\"]\n },\n \"application/vnd.oasis.opendocument.formula-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"odft\"]\n },\n \"application/vnd.oasis.opendocument.graphics\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odg\"]\n },\n \"application/vnd.oasis.opendocument.graphics-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otg\"]\n },\n \"application/vnd.oasis.opendocument.image\": {\n \"source\": \"iana\",\n \"extensions\": [\"odi\"]\n },\n \"application/vnd.oasis.opendocument.image-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"oti\"]\n },\n \"application/vnd.oasis.opendocument.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odp\"]\n },\n \"application/vnd.oasis.opendocument.presentation-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"otp\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ods\"]\n },\n \"application/vnd.oasis.opendocument.spreadsheet-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ots\"]\n },\n \"application/vnd.oasis.opendocument.text\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"odt\"]\n },\n \"application/vnd.oasis.opendocument.text-master\": {\n \"source\": \"iana\",\n \"extensions\": [\"odm\"]\n },\n \"application/vnd.oasis.opendocument.text-template\": {\n \"source\": \"iana\",\n \"extensions\": [\"ott\"]\n },\n \"application/vnd.oasis.opendocument.text-web\": {\n \"source\": \"iana\",\n \"extensions\": [\"oth\"]\n },\n \"application/vnd.obn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ocf+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oci.image.manifest.v1+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oftn.l10n+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessdownload+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.contentaccessstreaming+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.cspg-hexbinary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.dae.svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.dae.xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.mippvcontrolmessage+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.pae.gem\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oipf.spdiscovery+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.spdlist+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.ueprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oipf.userprofile+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.olpc-sugar\": {\n \"source\": \"iana\",\n \"extensions\": [\"xo\"]\n },\n \"application/vnd.oma-scws-config\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-request\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma-scws-http-response\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.associated-procedure-parameter+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.drm-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.imd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.ltkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.notification+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.provisioningtrigger\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgboot\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.sgdd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sgdu\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.simple-symbol-container\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.bcast.smartcard-trigger+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.sprov+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.bcast.stkm\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.cab-address-book+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-feature-handler+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-pcc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-subs-invite+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.cab-user-prefs+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.dcd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dcdc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.dd2+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dd2\"]\n },\n \"application/vnd.oma.drm.risd+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.group-usage-list+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+cbor\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.lwm2m+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.lwm2m+tlv\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.pal+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.detailed-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.final-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.groups+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.invocation-descriptor+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.poc.optimized-progress-report+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.push\": {\n \"source\": \"iana\"\n },\n \"application/vnd.oma.scidm.messages+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oma.xcap-directory+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.omads-email+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-file+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omads-folder+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.omaloc-supl-init\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepager\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertamx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertat\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.onepagertatx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openblox.game+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"obgx\"]\n },\n \"application/vnd.openblox.game-binary\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openeye.oeb\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openofficeorg.extension\": {\n \"source\": \"apache\",\n \"extensions\": [\"oxt\"]\n },\n \"application/vnd.openstreetmap.data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osm\"]\n },\n \"application/vnd.opentimestamps.ots\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.custom-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawing+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.extended-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"pptx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide\": {\n \"source\": \"iana\",\n \"extensions\": [\"sldx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\": {\n \"source\": \"iana\",\n \"extensions\": [\"ppsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"potx\"]\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"xlsx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"xltx\"]\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.theme+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.themeoverride+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.vmldrawing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"docx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\": {\n \"source\": \"iana\",\n \"extensions\": [\"dotx\"]\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.core-properties+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.openxmlformats-package.relationships+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oracle.resource+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.orange.indata\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osa.netdeploy\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgeo.mapguide.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgp\"]\n },\n \"application/vnd.osgi.bundle\": {\n \"source\": \"iana\"\n },\n \"application/vnd.osgi.dp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dp\"]\n },\n \"application/vnd.osgi.subsystem\": {\n \"source\": \"iana\",\n \"extensions\": [\"esa\"]\n },\n \"application/vnd.otps.ct-kip+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.oxli.countgraph\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pagerduty+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.palm\": {\n \"source\": \"iana\",\n \"extensions\": [\"pdb\",\"pqa\",\"oprc\"]\n },\n \"application/vnd.panoply\": {\n \"source\": \"iana\"\n },\n \"application/vnd.paos.xml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patentdive\": {\n \"source\": \"iana\"\n },\n \"application/vnd.patientecommsdoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pawaafile\": {\n \"source\": \"iana\",\n \"extensions\": [\"paw\"]\n },\n \"application/vnd.pcos\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pg.format\": {\n \"source\": \"iana\",\n \"extensions\": [\"str\"]\n },\n \"application/vnd.pg.osasli\": {\n \"source\": \"iana\",\n \"extensions\": [\"ei6\"]\n },\n \"application/vnd.piaccess.application-licence\": {\n \"source\": \"iana\"\n },\n \"application/vnd.picsel\": {\n \"source\": \"iana\",\n \"extensions\": [\"efif\"]\n },\n \"application/vnd.pmi.widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wg\"]\n },\n \"application/vnd.poc.group-advertisement+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.pocketlearn\": {\n \"source\": \"iana\",\n \"extensions\": [\"plf\"]\n },\n \"application/vnd.powerbuilder6\": {\n \"source\": \"iana\",\n \"extensions\": [\"pbd\"]\n },\n \"application/vnd.powerbuilder6-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder7-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75\": {\n \"source\": \"iana\"\n },\n \"application/vnd.powerbuilder75-s\": {\n \"source\": \"iana\"\n },\n \"application/vnd.preminet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.previewsystems.box\": {\n \"source\": \"iana\",\n \"extensions\": [\"box\"]\n },\n \"application/vnd.proteus.magazine\": {\n \"source\": \"iana\",\n \"extensions\": [\"mgz\"]\n },\n \"application/vnd.psfs\": {\n \"source\": \"iana\"\n },\n \"application/vnd.publishare-delta-tree\": {\n \"source\": \"iana\",\n \"extensions\": [\"qps\"]\n },\n \"application/vnd.pvi.ptid1\": {\n \"source\": \"iana\",\n \"extensions\": [\"ptid\"]\n },\n \"application/vnd.pwg-multiplexed\": {\n \"source\": \"iana\"\n },\n \"application/vnd.pwg-xhtml-print+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.qualcomm.brew-app-res\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quarantainenet\": {\n \"source\": \"iana\"\n },\n \"application/vnd.quark.quarkxpress\": {\n \"source\": \"iana\",\n \"extensions\": [\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]\n },\n \"application/vnd.quobject-quoxdocument\": {\n \"source\": \"iana\"\n },\n \"application/vnd.radisys.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-conn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-audit-stream+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-conf+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-base+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-detect+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-group+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-speech+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.radisys.msml-dialog-transform+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rainstor.data\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rapid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.rar\": {\n \"source\": \"iana\",\n \"extensions\": [\"rar\"]\n },\n \"application/vnd.realvnc.bed\": {\n \"source\": \"iana\",\n \"extensions\": [\"bed\"]\n },\n \"application/vnd.recordare.musicxml\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxl\"]\n },\n \"application/vnd.recordare.musicxml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"musicxml\"]\n },\n \"application/vnd.renlearn.rlprint\": {\n \"source\": \"iana\"\n },\n \"application/vnd.resilient.logic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.restful+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.rig.cryptonote\": {\n \"source\": \"iana\",\n \"extensions\": [\"cryptonote\"]\n },\n \"application/vnd.rim.cod\": {\n \"source\": \"apache\",\n \"extensions\": [\"cod\"]\n },\n \"application/vnd.rn-realmedia\": {\n \"source\": \"apache\",\n \"extensions\": [\"rm\"]\n },\n \"application/vnd.rn-realmedia-vbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmvb\"]\n },\n \"application/vnd.route66.link66+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"link66\"]\n },\n \"application/vnd.rs-274x\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ruckus.download\": {\n \"source\": \"iana\"\n },\n \"application/vnd.s3sms\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sailingtracker.track\": {\n \"source\": \"iana\",\n \"extensions\": [\"st\"]\n },\n \"application/vnd.sar\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.cid\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sbm.mid2\": {\n \"source\": \"iana\"\n },\n \"application/vnd.scribus\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.3df\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.csf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.doc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.eml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.mht\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.net\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.ppt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.tiff\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealed.xls\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.html\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sealedmedia.softseal.pdf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.seemail\": {\n \"source\": \"iana\",\n \"extensions\": [\"see\"]\n },\n \"application/vnd.seis+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.sema\": {\n \"source\": \"iana\",\n \"extensions\": [\"sema\"]\n },\n \"application/vnd.semd\": {\n \"source\": \"iana\",\n \"extensions\": [\"semd\"]\n },\n \"application/vnd.semf\": {\n \"source\": \"iana\",\n \"extensions\": [\"semf\"]\n },\n \"application/vnd.shade-save-file\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shana.informed.formdata\": {\n \"source\": \"iana\",\n \"extensions\": [\"ifm\"]\n },\n \"application/vnd.shana.informed.formtemplate\": {\n \"source\": \"iana\",\n \"extensions\": [\"itp\"]\n },\n \"application/vnd.shana.informed.interchange\": {\n \"source\": \"iana\",\n \"extensions\": [\"iif\"]\n },\n \"application/vnd.shana.informed.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"ipk\"]\n },\n \"application/vnd.shootproof+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shopkick+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.shp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.shx\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sigrok.session\": {\n \"source\": \"iana\"\n },\n \"application/vnd.simtech-mindmapper\": {\n \"source\": \"iana\",\n \"extensions\": [\"twd\",\"twds\"]\n },\n \"application/vnd.siren+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.smaf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmf\"]\n },\n \"application/vnd.smart.notebook\": {\n \"source\": \"iana\"\n },\n \"application/vnd.smart.teacher\": {\n \"source\": \"iana\",\n \"extensions\": [\"teacher\"]\n },\n \"application/vnd.snesdev-page-table\": {\n \"source\": \"iana\"\n },\n \"application/vnd.software602.filler.form+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"fo\"]\n },\n \"application/vnd.software602.filler.form-xml-zip\": {\n \"source\": \"iana\"\n },\n \"application/vnd.solent.sdkm+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"sdkm\",\"sdkd\"]\n },\n \"application/vnd.spotfire.dxp\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxp\"]\n },\n \"application/vnd.spotfire.sfs\": {\n \"source\": \"iana\",\n \"extensions\": [\"sfs\"]\n },\n \"application/vnd.sqlite3\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-cod\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-dtf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sss-ntf\": {\n \"source\": \"iana\"\n },\n \"application/vnd.stardivision.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdc\"]\n },\n \"application/vnd.stardivision.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sda\"]\n },\n \"application/vnd.stardivision.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdd\"]\n },\n \"application/vnd.stardivision.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"smf\"]\n },\n \"application/vnd.stardivision.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sdw\",\"vor\"]\n },\n \"application/vnd.stardivision.writer-global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgl\"]\n },\n \"application/vnd.stepmania.package\": {\n \"source\": \"iana\",\n \"extensions\": [\"smzip\"]\n },\n \"application/vnd.stepmania.stepchart\": {\n \"source\": \"iana\",\n \"extensions\": [\"sm\"]\n },\n \"application/vnd.street-stream\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sun.wadl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wadl\"]\n },\n \"application/vnd.sun.xml.calc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxc\"]\n },\n \"application/vnd.sun.xml.calc.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stc\"]\n },\n \"application/vnd.sun.xml.draw\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxd\"]\n },\n \"application/vnd.sun.xml.draw.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"std\"]\n },\n \"application/vnd.sun.xml.impress\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxi\"]\n },\n \"application/vnd.sun.xml.impress.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"sti\"]\n },\n \"application/vnd.sun.xml.math\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxm\"]\n },\n \"application/vnd.sun.xml.writer\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxw\"]\n },\n \"application/vnd.sun.xml.writer.global\": {\n \"source\": \"apache\",\n \"extensions\": [\"sxg\"]\n },\n \"application/vnd.sun.xml.writer.template\": {\n \"source\": \"apache\",\n \"extensions\": [\"stw\"]\n },\n \"application/vnd.sus-calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"sus\",\"susp\"]\n },\n \"application/vnd.svd\": {\n \"source\": \"iana\",\n \"extensions\": [\"svd\"]\n },\n \"application/vnd.swiftview-ics\": {\n \"source\": \"iana\"\n },\n \"application/vnd.sycle+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.syft+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.symbian.install\": {\n \"source\": \"apache\",\n \"extensions\": [\"sis\",\"sisx\"]\n },\n \"application/vnd.syncml+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xsm\"]\n },\n \"application/vnd.syncml.dm+wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"bdm\"]\n },\n \"application/vnd.syncml.dm+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"xdm\"]\n },\n \"application/vnd.syncml.dm.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmddf+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"ddf\"]\n },\n \"application/vnd.syncml.dmtnds+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.syncml.dmtnds+xml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true\n },\n \"application/vnd.syncml.ds.notification\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tableschema+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tao.intent-module-archive\": {\n \"source\": \"iana\",\n \"extensions\": [\"tao\"]\n },\n \"application/vnd.tcpdump.pcap\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcap\",\"cap\",\"dmp\"]\n },\n \"application/vnd.think-cell.ppttc+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tmd.mediaflex.api+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.tml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.tmobile-livetv\": {\n \"source\": \"iana\",\n \"extensions\": [\"tmo\"]\n },\n \"application/vnd.tri.onesource\": {\n \"source\": \"iana\"\n },\n \"application/vnd.trid.tpt\": {\n \"source\": \"iana\",\n \"extensions\": [\"tpt\"]\n },\n \"application/vnd.triscape.mxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxs\"]\n },\n \"application/vnd.trueapp\": {\n \"source\": \"iana\",\n \"extensions\": [\"tra\"]\n },\n \"application/vnd.truedoc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ubisoft.webplayer\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ufdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"ufd\",\"ufdl\"]\n },\n \"application/vnd.uiq.theme\": {\n \"source\": \"iana\",\n \"extensions\": [\"utz\"]\n },\n \"application/vnd.umajin\": {\n \"source\": \"iana\",\n \"extensions\": [\"umj\"]\n },\n \"application/vnd.unity\": {\n \"source\": \"iana\",\n \"extensions\": [\"unityweb\"]\n },\n \"application/vnd.uoml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uoml\"]\n },\n \"application/vnd.uplanet.alert\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.alert-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.bearer-choice-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.cacheop-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.channel-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.list-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.listcmd-wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uplanet.signal\": {\n \"source\": \"iana\"\n },\n \"application/vnd.uri-map\": {\n \"source\": \"iana\"\n },\n \"application/vnd.valve.source.material\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"vcx\"]\n },\n \"application/vnd.vd-study\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vectorworks\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vel+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.verimatrix.vcas\": {\n \"source\": \"iana\"\n },\n \"application/vnd.veritone.aion+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.veryant.thin\": {\n \"source\": \"iana\"\n },\n \"application/vnd.ves.encrypted\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vidsoft.vidconference\": {\n \"source\": \"iana\"\n },\n \"application/vnd.visio\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsd\",\"vst\",\"vss\",\"vsw\"]\n },\n \"application/vnd.visionary\": {\n \"source\": \"iana\",\n \"extensions\": [\"vis\"]\n },\n \"application/vnd.vividence.scriptfile\": {\n \"source\": \"iana\"\n },\n \"application/vnd.vsf\": {\n \"source\": \"iana\",\n \"extensions\": [\"vsf\"]\n },\n \"application/vnd.wap.sic\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.slc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wap.wbxml\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"wbxml\"]\n },\n \"application/vnd.wap.wmlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlc\"]\n },\n \"application/vnd.wap.wmlscriptc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmlsc\"]\n },\n \"application/vnd.webturbo\": {\n \"source\": \"iana\",\n \"extensions\": [\"wtb\"]\n },\n \"application/vnd.wfa.dpp\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.p2p\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wfa.wsc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.windows.devicepairing\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmc\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wmf.bootstrap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.mathematica.package\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wolfram.player\": {\n \"source\": \"iana\",\n \"extensions\": [\"nbp\"]\n },\n \"application/vnd.wordperfect\": {\n \"source\": \"iana\",\n \"extensions\": [\"wpd\"]\n },\n \"application/vnd.wqd\": {\n \"source\": \"iana\",\n \"extensions\": [\"wqd\"]\n },\n \"application/vnd.wrq-hp3000-labelled\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wt.stf\": {\n \"source\": \"iana\",\n \"extensions\": [\"stf\"]\n },\n \"application/vnd.wv.csp+wbxml\": {\n \"source\": \"iana\"\n },\n \"application/vnd.wv.csp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.wv.ssp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xacml+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xara\": {\n \"source\": \"iana\",\n \"extensions\": [\"xar\"]\n },\n \"application/vnd.xfdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"xfdl\"]\n },\n \"application/vnd.xfdl.webform\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmi+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vnd.xmpie.cpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.dpkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.plan\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.ppkg\": {\n \"source\": \"iana\"\n },\n \"application/vnd.xmpie.xlim\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.hv-dic\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvd\"]\n },\n \"application/vnd.yamaha.hv-script\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvs\"]\n },\n \"application/vnd.yamaha.hv-voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"hvp\"]\n },\n \"application/vnd.yamaha.openscoreformat\": {\n \"source\": \"iana\",\n \"extensions\": [\"osf\"]\n },\n \"application/vnd.yamaha.openscoreformat.osfpvg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"osfpvg\"]\n },\n \"application/vnd.yamaha.remote-setup\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.smaf-audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"saf\"]\n },\n \"application/vnd.yamaha.smaf-phrase\": {\n \"source\": \"iana\",\n \"extensions\": [\"spf\"]\n },\n \"application/vnd.yamaha.through-ngn\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yamaha.tunnel-udpencap\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yaoweme\": {\n \"source\": \"iana\"\n },\n \"application/vnd.yellowriver-custom-menu\": {\n \"source\": \"iana\",\n \"extensions\": [\"cmp\"]\n },\n \"application/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"application/vnd.zul\": {\n \"source\": \"iana\",\n \"extensions\": [\"zir\",\"zirz\"]\n },\n \"application/vnd.zzazz.deck+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"zaz\"]\n },\n \"application/voicexml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vxml\"]\n },\n \"application/voucher-cms+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/vq-rtcpxr\": {\n \"source\": \"iana\"\n },\n \"application/wasm\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wasm\"]\n },\n \"application/watcherinfo+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wif\"]\n },\n \"application/webpush-options+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/whoispp-query\": {\n \"source\": \"iana\"\n },\n \"application/whoispp-response\": {\n \"source\": \"iana\"\n },\n \"application/widget\": {\n \"source\": \"iana\",\n \"extensions\": [\"wgt\"]\n },\n \"application/winhlp\": {\n \"source\": \"apache\",\n \"extensions\": [\"hlp\"]\n },\n \"application/wita\": {\n \"source\": \"iana\"\n },\n \"application/wordperfect5.1\": {\n \"source\": \"iana\"\n },\n \"application/wsdl+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wsdl\"]\n },\n \"application/wspolicy+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"wspolicy\"]\n },\n \"application/x-7z-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"7z\"]\n },\n \"application/x-abiword\": {\n \"source\": \"apache\",\n \"extensions\": [\"abw\"]\n },\n \"application/x-ace-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"ace\"]\n },\n \"application/x-amf\": {\n \"source\": \"apache\"\n },\n \"application/x-apple-diskimage\": {\n \"source\": \"apache\",\n \"extensions\": [\"dmg\"]\n },\n \"application/x-arj\": {\n \"compressible\": false,\n \"extensions\": [\"arj\"]\n },\n \"application/x-authorware-bin\": {\n \"source\": \"apache\",\n \"extensions\": [\"aab\",\"x32\",\"u32\",\"vox\"]\n },\n \"application/x-authorware-map\": {\n \"source\": \"apache\",\n \"extensions\": [\"aam\"]\n },\n \"application/x-authorware-seg\": {\n \"source\": \"apache\",\n \"extensions\": [\"aas\"]\n },\n \"application/x-bcpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"bcpio\"]\n },\n \"application/x-bdoc\": {\n \"compressible\": false,\n \"extensions\": [\"bdoc\"]\n },\n \"application/x-bittorrent\": {\n \"source\": \"apache\",\n \"extensions\": [\"torrent\"]\n },\n \"application/x-blorb\": {\n \"source\": \"apache\",\n \"extensions\": [\"blb\",\"blorb\"]\n },\n \"application/x-bzip\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz\"]\n },\n \"application/x-bzip2\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"bz2\",\"boz\"]\n },\n \"application/x-cbr\": {\n \"source\": \"apache\",\n \"extensions\": [\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]\n },\n \"application/x-cdlink\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcd\"]\n },\n \"application/x-cfs-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"cfs\"]\n },\n \"application/x-chat\": {\n \"source\": \"apache\",\n \"extensions\": [\"chat\"]\n },\n \"application/x-chess-pgn\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgn\"]\n },\n \"application/x-chrome-extension\": {\n \"extensions\": [\"crx\"]\n },\n \"application/x-cocoa\": {\n \"source\": \"nginx\",\n \"extensions\": [\"cco\"]\n },\n \"application/x-compress\": {\n \"source\": \"apache\"\n },\n \"application/x-conference\": {\n \"source\": \"apache\",\n \"extensions\": [\"nsc\"]\n },\n \"application/x-cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"cpio\"]\n },\n \"application/x-csh\": {\n \"source\": \"apache\",\n \"extensions\": [\"csh\"]\n },\n \"application/x-deb\": {\n \"compressible\": false\n },\n \"application/x-debian-package\": {\n \"source\": \"apache\",\n \"extensions\": [\"deb\",\"udeb\"]\n },\n \"application/x-dgc-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"dgc\"]\n },\n \"application/x-director\": {\n \"source\": \"apache\",\n \"extensions\": [\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]\n },\n \"application/x-doom\": {\n \"source\": \"apache\",\n \"extensions\": [\"wad\"]\n },\n \"application/x-dtbncx+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ncx\"]\n },\n \"application/x-dtbook+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"dtb\"]\n },\n \"application/x-dtbresource+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"res\"]\n },\n \"application/x-dvi\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"dvi\"]\n },\n \"application/x-envoy\": {\n \"source\": \"apache\",\n \"extensions\": [\"evy\"]\n },\n \"application/x-eva\": {\n \"source\": \"apache\",\n \"extensions\": [\"eva\"]\n },\n \"application/x-font-bdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"bdf\"]\n },\n \"application/x-font-dos\": {\n \"source\": \"apache\"\n },\n \"application/x-font-framemaker\": {\n \"source\": \"apache\"\n },\n \"application/x-font-ghostscript\": {\n \"source\": \"apache\",\n \"extensions\": [\"gsf\"]\n },\n \"application/x-font-libgrx\": {\n \"source\": \"apache\"\n },\n \"application/x-font-linux-psf\": {\n \"source\": \"apache\",\n \"extensions\": [\"psf\"]\n },\n \"application/x-font-pcf\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcf\"]\n },\n \"application/x-font-snf\": {\n \"source\": \"apache\",\n \"extensions\": [\"snf\"]\n },\n \"application/x-font-speedo\": {\n \"source\": \"apache\"\n },\n \"application/x-font-sunos-news\": {\n \"source\": \"apache\"\n },\n \"application/x-font-type1\": {\n \"source\": \"apache\",\n \"extensions\": [\"pfa\",\"pfb\",\"pfm\",\"afm\"]\n },\n \"application/x-font-vfont\": {\n \"source\": \"apache\"\n },\n \"application/x-freearc\": {\n \"source\": \"apache\",\n \"extensions\": [\"arc\"]\n },\n \"application/x-futuresplash\": {\n \"source\": \"apache\",\n \"extensions\": [\"spl\"]\n },\n \"application/x-gca-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"gca\"]\n },\n \"application/x-glulx\": {\n \"source\": \"apache\",\n \"extensions\": [\"ulx\"]\n },\n \"application/x-gnumeric\": {\n \"source\": \"apache\",\n \"extensions\": [\"gnumeric\"]\n },\n \"application/x-gramps-xml\": {\n \"source\": \"apache\",\n \"extensions\": [\"gramps\"]\n },\n \"application/x-gtar\": {\n \"source\": \"apache\",\n \"extensions\": [\"gtar\"]\n },\n \"application/x-gzip\": {\n \"source\": \"apache\"\n },\n \"application/x-hdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"hdf\"]\n },\n \"application/x-httpd-php\": {\n \"compressible\": true,\n \"extensions\": [\"php\"]\n },\n \"application/x-install-instructions\": {\n \"source\": \"apache\",\n \"extensions\": [\"install\"]\n },\n \"application/x-iso9660-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"iso\"]\n },\n \"application/x-iwork-keynote-sffkey\": {\n \"extensions\": [\"key\"]\n },\n \"application/x-iwork-numbers-sffnumbers\": {\n \"extensions\": [\"numbers\"]\n },\n \"application/x-iwork-pages-sffpages\": {\n \"extensions\": [\"pages\"]\n },\n \"application/x-java-archive-diff\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jardiff\"]\n },\n \"application/x-java-jnlp-file\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"jnlp\"]\n },\n \"application/x-javascript\": {\n \"compressible\": true\n },\n \"application/x-keepass2\": {\n \"extensions\": [\"kdbx\"]\n },\n \"application/x-latex\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"latex\"]\n },\n \"application/x-lua-bytecode\": {\n \"extensions\": [\"luac\"]\n },\n \"application/x-lzh-compressed\": {\n \"source\": \"apache\",\n \"extensions\": [\"lzh\",\"lha\"]\n },\n \"application/x-makeself\": {\n \"source\": \"nginx\",\n \"extensions\": [\"run\"]\n },\n \"application/x-mie\": {\n \"source\": \"apache\",\n \"extensions\": [\"mie\"]\n },\n \"application/x-mobipocket-ebook\": {\n \"source\": \"apache\",\n \"extensions\": [\"prc\",\"mobi\"]\n },\n \"application/x-mpegurl\": {\n \"compressible\": false\n },\n \"application/x-ms-application\": {\n \"source\": \"apache\",\n \"extensions\": [\"application\"]\n },\n \"application/x-ms-shortcut\": {\n \"source\": \"apache\",\n \"extensions\": [\"lnk\"]\n },\n \"application/x-ms-wmd\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmd\"]\n },\n \"application/x-ms-wmz\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmz\"]\n },\n \"application/x-ms-xbap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbap\"]\n },\n \"application/x-msaccess\": {\n \"source\": \"apache\",\n \"extensions\": [\"mdb\"]\n },\n \"application/x-msbinder\": {\n \"source\": \"apache\",\n \"extensions\": [\"obd\"]\n },\n \"application/x-mscardfile\": {\n \"source\": \"apache\",\n \"extensions\": [\"crd\"]\n },\n \"application/x-msclip\": {\n \"source\": \"apache\",\n \"extensions\": [\"clp\"]\n },\n \"application/x-msdos-program\": {\n \"extensions\": [\"exe\"]\n },\n \"application/x-msdownload\": {\n \"source\": \"apache\",\n \"extensions\": [\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]\n },\n \"application/x-msmediaview\": {\n \"source\": \"apache\",\n \"extensions\": [\"mvb\",\"m13\",\"m14\"]\n },\n \"application/x-msmetafile\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmf\",\"wmz\",\"emf\",\"emz\"]\n },\n \"application/x-msmoney\": {\n \"source\": \"apache\",\n \"extensions\": [\"mny\"]\n },\n \"application/x-mspublisher\": {\n \"source\": \"apache\",\n \"extensions\": [\"pub\"]\n },\n \"application/x-msschedule\": {\n \"source\": \"apache\",\n \"extensions\": [\"scd\"]\n },\n \"application/x-msterminal\": {\n \"source\": \"apache\",\n \"extensions\": [\"trm\"]\n },\n \"application/x-mswrite\": {\n \"source\": \"apache\",\n \"extensions\": [\"wri\"]\n },\n \"application/x-netcdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"nc\",\"cdf\"]\n },\n \"application/x-ns-proxy-autoconfig\": {\n \"compressible\": true,\n \"extensions\": [\"pac\"]\n },\n \"application/x-nzb\": {\n \"source\": \"apache\",\n \"extensions\": [\"nzb\"]\n },\n \"application/x-perl\": {\n \"source\": \"nginx\",\n \"extensions\": [\"pl\",\"pm\"]\n },\n \"application/x-pilot\": {\n \"source\": \"nginx\",\n \"extensions\": [\"prc\",\"pdb\"]\n },\n \"application/x-pkcs12\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"p12\",\"pfx\"]\n },\n \"application/x-pkcs7-certificates\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7b\",\"spc\"]\n },\n \"application/x-pkcs7-certreqresp\": {\n \"source\": \"apache\",\n \"extensions\": [\"p7r\"]\n },\n \"application/x-pki-message\": {\n \"source\": \"iana\"\n },\n \"application/x-rar-compressed\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"rar\"]\n },\n \"application/x-redhat-package-manager\": {\n \"source\": \"nginx\",\n \"extensions\": [\"rpm\"]\n },\n \"application/x-research-info-systems\": {\n \"source\": \"apache\",\n \"extensions\": [\"ris\"]\n },\n \"application/x-sea\": {\n \"source\": \"nginx\",\n \"extensions\": [\"sea\"]\n },\n \"application/x-sh\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"sh\"]\n },\n \"application/x-shar\": {\n \"source\": \"apache\",\n \"extensions\": [\"shar\"]\n },\n \"application/x-shockwave-flash\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"swf\"]\n },\n \"application/x-silverlight-app\": {\n \"source\": \"apache\",\n \"extensions\": [\"xap\"]\n },\n \"application/x-sql\": {\n \"source\": \"apache\",\n \"extensions\": [\"sql\"]\n },\n \"application/x-stuffit\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"sit\"]\n },\n \"application/x-stuffitx\": {\n \"source\": \"apache\",\n \"extensions\": [\"sitx\"]\n },\n \"application/x-subrip\": {\n \"source\": \"apache\",\n \"extensions\": [\"srt\"]\n },\n \"application/x-sv4cpio\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4cpio\"]\n },\n \"application/x-sv4crc\": {\n \"source\": \"apache\",\n \"extensions\": [\"sv4crc\"]\n },\n \"application/x-t3vm-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"t3\"]\n },\n \"application/x-tads\": {\n \"source\": \"apache\",\n \"extensions\": [\"gam\"]\n },\n \"application/x-tar\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"tar\"]\n },\n \"application/x-tcl\": {\n \"source\": \"apache\",\n \"extensions\": [\"tcl\",\"tk\"]\n },\n \"application/x-tex\": {\n \"source\": \"apache\",\n \"extensions\": [\"tex\"]\n },\n \"application/x-tex-tfm\": {\n \"source\": \"apache\",\n \"extensions\": [\"tfm\"]\n },\n \"application/x-texinfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"texinfo\",\"texi\"]\n },\n \"application/x-tgif\": {\n \"source\": \"apache\",\n \"extensions\": [\"obj\"]\n },\n \"application/x-ustar\": {\n \"source\": \"apache\",\n \"extensions\": [\"ustar\"]\n },\n \"application/x-virtualbox-hdd\": {\n \"compressible\": true,\n \"extensions\": [\"hdd\"]\n },\n \"application/x-virtualbox-ova\": {\n \"compressible\": true,\n \"extensions\": [\"ova\"]\n },\n \"application/x-virtualbox-ovf\": {\n \"compressible\": true,\n \"extensions\": [\"ovf\"]\n },\n \"application/x-virtualbox-vbox\": {\n \"compressible\": true,\n \"extensions\": [\"vbox\"]\n },\n \"application/x-virtualbox-vbox-extpack\": {\n \"compressible\": false,\n \"extensions\": [\"vbox-extpack\"]\n },\n \"application/x-virtualbox-vdi\": {\n \"compressible\": true,\n \"extensions\": [\"vdi\"]\n },\n \"application/x-virtualbox-vhd\": {\n \"compressible\": true,\n \"extensions\": [\"vhd\"]\n },\n \"application/x-virtualbox-vmdk\": {\n \"compressible\": true,\n \"extensions\": [\"vmdk\"]\n },\n \"application/x-wais-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"src\"]\n },\n \"application/x-web-app-manifest+json\": {\n \"compressible\": true,\n \"extensions\": [\"webapp\"]\n },\n \"application/x-www-form-urlencoded\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/x-x509-ca-cert\": {\n \"source\": \"iana\",\n \"extensions\": [\"der\",\"crt\",\"pem\"]\n },\n \"application/x-x509-ca-ra-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-x509-next-ca-cert\": {\n \"source\": \"iana\"\n },\n \"application/x-xfig\": {\n \"source\": \"apache\",\n \"extensions\": [\"fig\"]\n },\n \"application/x-xliff+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/x-xpinstall\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"xpi\"]\n },\n \"application/x-xz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xz\"]\n },\n \"application/x-zmachine\": {\n \"source\": \"apache\",\n \"extensions\": [\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]\n },\n \"application/x400-bp\": {\n \"source\": \"iana\"\n },\n \"application/xacml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xaml+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xaml\"]\n },\n \"application/xcap-att+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xav\"]\n },\n \"application/xcap-caps+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xca\"]\n },\n \"application/xcap-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xdf\"]\n },\n \"application/xcap-el+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xel\"]\n },\n \"application/xcap-error+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcap-ns+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xns\"]\n },\n \"application/xcon-conference-info+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xcon-conference-info-diff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xenc+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xenc\"]\n },\n \"application/xhtml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xhtml\",\"xht\"]\n },\n \"application/xhtml-voice+xml\": {\n \"source\": \"apache\",\n \"compressible\": true\n },\n \"application/xliff+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xlf\"]\n },\n \"application/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\",\"xsl\",\"xsd\",\"rng\"]\n },\n \"application/xml-dtd\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dtd\"]\n },\n \"application/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"application/xml-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xmpp+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/xop+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xop\"]\n },\n \"application/xproc+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xpl\"]\n },\n \"application/xslt+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xsl\",\"xslt\"]\n },\n \"application/xspf+xml\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"xspf\"]\n },\n \"application/xv+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]\n },\n \"application/yang\": {\n \"source\": \"iana\",\n \"extensions\": [\"yang\"]\n },\n \"application/yang-data+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-data+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+json\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yang-patch+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"application/yin+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"yin\"]\n },\n \"application/zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"zip\"]\n },\n \"application/zlib\": {\n \"source\": \"iana\"\n },\n \"application/zstd\": {\n \"source\": \"iana\"\n },\n \"audio/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/3gpp\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"3gpp\"]\n },\n \"audio/3gpp2\": {\n \"source\": \"iana\"\n },\n \"audio/aac\": {\n \"source\": \"iana\"\n },\n \"audio/ac3\": {\n \"source\": \"iana\"\n },\n \"audio/adpcm\": {\n \"source\": \"apache\",\n \"extensions\": [\"adp\"]\n },\n \"audio/amr\": {\n \"source\": \"iana\",\n \"extensions\": [\"amr\"]\n },\n \"audio/amr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/amr-wb+\": {\n \"source\": \"iana\"\n },\n \"audio/aptx\": {\n \"source\": \"iana\"\n },\n \"audio/asc\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-advanced-lossless\": {\n \"source\": \"iana\"\n },\n \"audio/atrac-x\": {\n \"source\": \"iana\"\n },\n \"audio/atrac3\": {\n \"source\": \"iana\"\n },\n \"audio/basic\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"au\",\"snd\"]\n },\n \"audio/bv16\": {\n \"source\": \"iana\"\n },\n \"audio/bv32\": {\n \"source\": \"iana\"\n },\n \"audio/clearmode\": {\n \"source\": \"iana\"\n },\n \"audio/cn\": {\n \"source\": \"iana\"\n },\n \"audio/dat12\": {\n \"source\": \"iana\"\n },\n \"audio/dls\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es201108\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202050\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202211\": {\n \"source\": \"iana\"\n },\n \"audio/dsr-es202212\": {\n \"source\": \"iana\"\n },\n \"audio/dv\": {\n \"source\": \"iana\"\n },\n \"audio/dvi4\": {\n \"source\": \"iana\"\n },\n \"audio/eac3\": {\n \"source\": \"iana\"\n },\n \"audio/encaprtp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc\": {\n \"source\": \"iana\"\n },\n \"audio/evrc-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/evrc0\": {\n \"source\": \"iana\"\n },\n \"audio/evrc1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcb1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcnw1\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb0\": {\n \"source\": \"iana\"\n },\n \"audio/evrcwb1\": {\n \"source\": \"iana\"\n },\n \"audio/evs\": {\n \"source\": \"iana\"\n },\n \"audio/flexfec\": {\n \"source\": \"iana\"\n },\n \"audio/fwdred\": {\n \"source\": \"iana\"\n },\n \"audio/g711-0\": {\n \"source\": \"iana\"\n },\n \"audio/g719\": {\n \"source\": \"iana\"\n },\n \"audio/g722\": {\n \"source\": \"iana\"\n },\n \"audio/g7221\": {\n \"source\": \"iana\"\n },\n \"audio/g723\": {\n \"source\": \"iana\"\n },\n \"audio/g726-16\": {\n \"source\": \"iana\"\n },\n \"audio/g726-24\": {\n \"source\": \"iana\"\n },\n \"audio/g726-32\": {\n \"source\": \"iana\"\n },\n \"audio/g726-40\": {\n \"source\": \"iana\"\n },\n \"audio/g728\": {\n \"source\": \"iana\"\n },\n \"audio/g729\": {\n \"source\": \"iana\"\n },\n \"audio/g7291\": {\n \"source\": \"iana\"\n },\n \"audio/g729d\": {\n \"source\": \"iana\"\n },\n \"audio/g729e\": {\n \"source\": \"iana\"\n },\n \"audio/gsm\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-efr\": {\n \"source\": \"iana\"\n },\n \"audio/gsm-hr-08\": {\n \"source\": \"iana\"\n },\n \"audio/ilbc\": {\n \"source\": \"iana\"\n },\n \"audio/ip-mr_v2.5\": {\n \"source\": \"iana\"\n },\n \"audio/isac\": {\n \"source\": \"apache\"\n },\n \"audio/l16\": {\n \"source\": \"iana\"\n },\n \"audio/l20\": {\n \"source\": \"iana\"\n },\n \"audio/l24\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/l8\": {\n \"source\": \"iana\"\n },\n \"audio/lpc\": {\n \"source\": \"iana\"\n },\n \"audio/melp\": {\n \"source\": \"iana\"\n },\n \"audio/melp1200\": {\n \"source\": \"iana\"\n },\n \"audio/melp2400\": {\n \"source\": \"iana\"\n },\n \"audio/melp600\": {\n \"source\": \"iana\"\n },\n \"audio/mhas\": {\n \"source\": \"iana\"\n },\n \"audio/midi\": {\n \"source\": \"apache\",\n \"extensions\": [\"mid\",\"midi\",\"kar\",\"rmi\"]\n },\n \"audio/mobile-xmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxmf\"]\n },\n \"audio/mp3\": {\n \"compressible\": false,\n \"extensions\": [\"mp3\"]\n },\n \"audio/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"m4a\",\"mp4a\"]\n },\n \"audio/mp4a-latm\": {\n \"source\": \"iana\"\n },\n \"audio/mpa\": {\n \"source\": \"iana\"\n },\n \"audio/mpa-robust\": {\n \"source\": \"iana\"\n },\n \"audio/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]\n },\n \"audio/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"audio/musepack\": {\n \"source\": \"apache\"\n },\n \"audio/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"oga\",\"ogg\",\"spx\",\"opus\"]\n },\n \"audio/opus\": {\n \"source\": \"iana\"\n },\n \"audio/parityfec\": {\n \"source\": \"iana\"\n },\n \"audio/pcma\": {\n \"source\": \"iana\"\n },\n \"audio/pcma-wb\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu\": {\n \"source\": \"iana\"\n },\n \"audio/pcmu-wb\": {\n \"source\": \"iana\"\n },\n \"audio/prs.sid\": {\n \"source\": \"iana\"\n },\n \"audio/qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/raptorfec\": {\n \"source\": \"iana\"\n },\n \"audio/red\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"audio/rtp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/rtploopback\": {\n \"source\": \"iana\"\n },\n \"audio/rtx\": {\n \"source\": \"iana\"\n },\n \"audio/s3m\": {\n \"source\": \"apache\",\n \"extensions\": [\"s3m\"]\n },\n \"audio/scip\": {\n \"source\": \"iana\"\n },\n \"audio/silk\": {\n \"source\": \"apache\",\n \"extensions\": [\"sil\"]\n },\n \"audio/smv\": {\n \"source\": \"iana\"\n },\n \"audio/smv-qcp\": {\n \"source\": \"iana\"\n },\n \"audio/smv0\": {\n \"source\": \"iana\"\n },\n \"audio/sofa\": {\n \"source\": \"iana\"\n },\n \"audio/sp-midi\": {\n \"source\": \"iana\"\n },\n \"audio/speex\": {\n \"source\": \"iana\"\n },\n \"audio/t140c\": {\n \"source\": \"iana\"\n },\n \"audio/t38\": {\n \"source\": \"iana\"\n },\n \"audio/telephone-event\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp\": {\n \"source\": \"iana\"\n },\n \"audio/tetra_acelp_bb\": {\n \"source\": \"iana\"\n },\n \"audio/tone\": {\n \"source\": \"iana\"\n },\n \"audio/tsvcis\": {\n \"source\": \"iana\"\n },\n \"audio/uemclip\": {\n \"source\": \"iana\"\n },\n \"audio/ulpfec\": {\n \"source\": \"iana\"\n },\n \"audio/usac\": {\n \"source\": \"iana\"\n },\n \"audio/vdvi\": {\n \"source\": \"iana\"\n },\n \"audio/vmr-wb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.3gpp.iufp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.4sb\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.audiokoz\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.celp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cisco.nse\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cmles.radio-events\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.anp1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.cns.inf1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dece.audio\": {\n \"source\": \"iana\",\n \"extensions\": [\"uva\",\"uvva\"]\n },\n \"audio/vnd.digital-winds\": {\n \"source\": \"iana\",\n \"extensions\": [\"eol\"]\n },\n \"audio/vnd.dlna.adts\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.heaac.2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mlp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.mps\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2x\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pl2z\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dolby.pulse.1\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dra\": {\n \"source\": \"iana\",\n \"extensions\": [\"dra\"]\n },\n \"audio/vnd.dts\": {\n \"source\": \"iana\",\n \"extensions\": [\"dts\"]\n },\n \"audio/vnd.dts.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"dtshd\"]\n },\n \"audio/vnd.dts.uhd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.dvb.file\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.everad.plj\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.hns.audio\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.lucent.voice\": {\n \"source\": \"iana\",\n \"extensions\": [\"lvp\"]\n },\n \"audio/vnd.ms-playready.media.pya\": {\n \"source\": \"iana\",\n \"extensions\": [\"pya\"]\n },\n \"audio/vnd.nokia.mobile-xmf\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nortel.vbk\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.nuera.ecelp4800\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp4800\"]\n },\n \"audio/vnd.nuera.ecelp7470\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp7470\"]\n },\n \"audio/vnd.nuera.ecelp9600\": {\n \"source\": \"iana\",\n \"extensions\": [\"ecelp9600\"]\n },\n \"audio/vnd.octel.sbc\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.presonus.multitrack\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.qcelp\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rhetorex.32kadpcm\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.rip\": {\n \"source\": \"iana\",\n \"extensions\": [\"rip\"]\n },\n \"audio/vnd.rn-realaudio\": {\n \"compressible\": false\n },\n \"audio/vnd.sealedmedia.softseal.mpeg\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.vmx.cvsd\": {\n \"source\": \"iana\"\n },\n \"audio/vnd.wave\": {\n \"compressible\": false\n },\n \"audio/vorbis\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"audio/vorbis-config\": {\n \"source\": \"iana\"\n },\n \"audio/wav\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/wave\": {\n \"compressible\": false,\n \"extensions\": [\"wav\"]\n },\n \"audio/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"weba\"]\n },\n \"audio/x-aac\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"aac\"]\n },\n \"audio/x-aiff\": {\n \"source\": \"apache\",\n \"extensions\": [\"aif\",\"aiff\",\"aifc\"]\n },\n \"audio/x-caf\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"caf\"]\n },\n \"audio/x-flac\": {\n \"source\": \"apache\",\n \"extensions\": [\"flac\"]\n },\n \"audio/x-m4a\": {\n \"source\": \"nginx\",\n \"extensions\": [\"m4a\"]\n },\n \"audio/x-matroska\": {\n \"source\": \"apache\",\n \"extensions\": [\"mka\"]\n },\n \"audio/x-mpegurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"m3u\"]\n },\n \"audio/x-ms-wax\": {\n \"source\": \"apache\",\n \"extensions\": [\"wax\"]\n },\n \"audio/x-ms-wma\": {\n \"source\": \"apache\",\n \"extensions\": [\"wma\"]\n },\n \"audio/x-pn-realaudio\": {\n \"source\": \"apache\",\n \"extensions\": [\"ram\",\"ra\"]\n },\n \"audio/x-pn-realaudio-plugin\": {\n \"source\": \"apache\",\n \"extensions\": [\"rmp\"]\n },\n \"audio/x-realaudio\": {\n \"source\": \"nginx\",\n \"extensions\": [\"ra\"]\n },\n \"audio/x-tta\": {\n \"source\": \"apache\"\n },\n \"audio/x-wav\": {\n \"source\": \"apache\",\n \"extensions\": [\"wav\"]\n },\n \"audio/xm\": {\n \"source\": \"apache\",\n \"extensions\": [\"xm\"]\n },\n \"chemical/x-cdx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cdx\"]\n },\n \"chemical/x-cif\": {\n \"source\": \"apache\",\n \"extensions\": [\"cif\"]\n },\n \"chemical/x-cmdf\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmdf\"]\n },\n \"chemical/x-cml\": {\n \"source\": \"apache\",\n \"extensions\": [\"cml\"]\n },\n \"chemical/x-csml\": {\n \"source\": \"apache\",\n \"extensions\": [\"csml\"]\n },\n \"chemical/x-pdb\": {\n \"source\": \"apache\"\n },\n \"chemical/x-xyz\": {\n \"source\": \"apache\",\n \"extensions\": [\"xyz\"]\n },\n \"font/collection\": {\n \"source\": \"iana\",\n \"extensions\": [\"ttc\"]\n },\n \"font/otf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"otf\"]\n },\n \"font/sfnt\": {\n \"source\": \"iana\"\n },\n \"font/ttf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ttf\"]\n },\n \"font/woff\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff\"]\n },\n \"font/woff2\": {\n \"source\": \"iana\",\n \"extensions\": [\"woff2\"]\n },\n \"image/aces\": {\n \"source\": \"iana\",\n \"extensions\": [\"exr\"]\n },\n \"image/apng\": {\n \"compressible\": false,\n \"extensions\": [\"apng\"]\n },\n \"image/avci\": {\n \"source\": \"iana\",\n \"extensions\": [\"avci\"]\n },\n \"image/avcs\": {\n \"source\": \"iana\",\n \"extensions\": [\"avcs\"]\n },\n \"image/avif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"avif\"]\n },\n \"image/bmp\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/cgm\": {\n \"source\": \"iana\",\n \"extensions\": [\"cgm\"]\n },\n \"image/dicom-rle\": {\n \"source\": \"iana\",\n \"extensions\": [\"drle\"]\n },\n \"image/emf\": {\n \"source\": \"iana\",\n \"extensions\": [\"emf\"]\n },\n \"image/fits\": {\n \"source\": \"iana\",\n \"extensions\": [\"fits\"]\n },\n \"image/g3fax\": {\n \"source\": \"iana\",\n \"extensions\": [\"g3\"]\n },\n \"image/gif\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"gif\"]\n },\n \"image/heic\": {\n \"source\": \"iana\",\n \"extensions\": [\"heic\"]\n },\n \"image/heic-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heics\"]\n },\n \"image/heif\": {\n \"source\": \"iana\",\n \"extensions\": [\"heif\"]\n },\n \"image/heif-sequence\": {\n \"source\": \"iana\",\n \"extensions\": [\"heifs\"]\n },\n \"image/hej2k\": {\n \"source\": \"iana\",\n \"extensions\": [\"hej2\"]\n },\n \"image/hsj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"hsj2\"]\n },\n \"image/ief\": {\n \"source\": \"iana\",\n \"extensions\": [\"ief\"]\n },\n \"image/jls\": {\n \"source\": \"iana\",\n \"extensions\": [\"jls\"]\n },\n \"image/jp2\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jp2\",\"jpg2\"]\n },\n \"image/jpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpeg\",\"jpg\",\"jpe\"]\n },\n \"image/jph\": {\n \"source\": \"iana\",\n \"extensions\": [\"jph\"]\n },\n \"image/jphc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jhc\"]\n },\n \"image/jpm\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpm\"]\n },\n \"image/jpx\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"jpx\",\"jpf\"]\n },\n \"image/jxr\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxr\"]\n },\n \"image/jxra\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxra\"]\n },\n \"image/jxrs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxrs\"]\n },\n \"image/jxs\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxs\"]\n },\n \"image/jxsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsc\"]\n },\n \"image/jxsi\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxsi\"]\n },\n \"image/jxss\": {\n \"source\": \"iana\",\n \"extensions\": [\"jxss\"]\n },\n \"image/ktx\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx\"]\n },\n \"image/ktx2\": {\n \"source\": \"iana\",\n \"extensions\": [\"ktx2\"]\n },\n \"image/naplps\": {\n \"source\": \"iana\"\n },\n \"image/pjpeg\": {\n \"compressible\": false\n },\n \"image/png\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"png\"]\n },\n \"image/prs.btif\": {\n \"source\": \"iana\",\n \"extensions\": [\"btif\"]\n },\n \"image/prs.pti\": {\n \"source\": \"iana\",\n \"extensions\": [\"pti\"]\n },\n \"image/pwg-raster\": {\n \"source\": \"iana\"\n },\n \"image/sgi\": {\n \"source\": \"apache\",\n \"extensions\": [\"sgi\"]\n },\n \"image/svg+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"svg\",\"svgz\"]\n },\n \"image/t38\": {\n \"source\": \"iana\",\n \"extensions\": [\"t38\"]\n },\n \"image/tiff\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"tif\",\"tiff\"]\n },\n \"image/tiff-fx\": {\n \"source\": \"iana\",\n \"extensions\": [\"tfx\"]\n },\n \"image/vnd.adobe.photoshop\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"psd\"]\n },\n \"image/vnd.airzip.accelerator.azv\": {\n \"source\": \"iana\",\n \"extensions\": [\"azv\"]\n },\n \"image/vnd.cns.inf2\": {\n \"source\": \"iana\"\n },\n \"image/vnd.dece.graphic\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]\n },\n \"image/vnd.djvu\": {\n \"source\": \"iana\",\n \"extensions\": [\"djvu\",\"djv\"]\n },\n \"image/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"image/vnd.dwg\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwg\"]\n },\n \"image/vnd.dxf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dxf\"]\n },\n \"image/vnd.fastbidsheet\": {\n \"source\": \"iana\",\n \"extensions\": [\"fbs\"]\n },\n \"image/vnd.fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"fpx\"]\n },\n \"image/vnd.fst\": {\n \"source\": \"iana\",\n \"extensions\": [\"fst\"]\n },\n \"image/vnd.fujixerox.edmics-mmr\": {\n \"source\": \"iana\",\n \"extensions\": [\"mmr\"]\n },\n \"image/vnd.fujixerox.edmics-rlc\": {\n \"source\": \"iana\",\n \"extensions\": [\"rlc\"]\n },\n \"image/vnd.globalgraphics.pgb\": {\n \"source\": \"iana\"\n },\n \"image/vnd.microsoft.icon\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/vnd.mix\": {\n \"source\": \"iana\"\n },\n \"image/vnd.mozilla.apng\": {\n \"source\": \"iana\"\n },\n \"image/vnd.ms-dds\": {\n \"compressible\": true,\n \"extensions\": [\"dds\"]\n },\n \"image/vnd.ms-modi\": {\n \"source\": \"iana\",\n \"extensions\": [\"mdi\"]\n },\n \"image/vnd.ms-photo\": {\n \"source\": \"apache\",\n \"extensions\": [\"wdp\"]\n },\n \"image/vnd.net-fpx\": {\n \"source\": \"iana\",\n \"extensions\": [\"npx\"]\n },\n \"image/vnd.pco.b16\": {\n \"source\": \"iana\",\n \"extensions\": [\"b16\"]\n },\n \"image/vnd.radiance\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealed.png\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.gif\": {\n \"source\": \"iana\"\n },\n \"image/vnd.sealedmedia.softseal.jpg\": {\n \"source\": \"iana\"\n },\n \"image/vnd.svf\": {\n \"source\": \"iana\"\n },\n \"image/vnd.tencent.tap\": {\n \"source\": \"iana\",\n \"extensions\": [\"tap\"]\n },\n \"image/vnd.valve.source.texture\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtf\"]\n },\n \"image/vnd.wap.wbmp\": {\n \"source\": \"iana\",\n \"extensions\": [\"wbmp\"]\n },\n \"image/vnd.xiff\": {\n \"source\": \"iana\",\n \"extensions\": [\"xif\"]\n },\n \"image/vnd.zbrush.pcx\": {\n \"source\": \"iana\",\n \"extensions\": [\"pcx\"]\n },\n \"image/webp\": {\n \"source\": \"apache\",\n \"extensions\": [\"webp\"]\n },\n \"image/wmf\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmf\"]\n },\n \"image/x-3ds\": {\n \"source\": \"apache\",\n \"extensions\": [\"3ds\"]\n },\n \"image/x-cmu-raster\": {\n \"source\": \"apache\",\n \"extensions\": [\"ras\"]\n },\n \"image/x-cmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"cmx\"]\n },\n \"image/x-freehand\": {\n \"source\": \"apache\",\n \"extensions\": [\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]\n },\n \"image/x-icon\": {\n \"source\": \"apache\",\n \"compressible\": true,\n \"extensions\": [\"ico\"]\n },\n \"image/x-jng\": {\n \"source\": \"nginx\",\n \"extensions\": [\"jng\"]\n },\n \"image/x-mrsid-image\": {\n \"source\": \"apache\",\n \"extensions\": [\"sid\"]\n },\n \"image/x-ms-bmp\": {\n \"source\": \"nginx\",\n \"compressible\": true,\n \"extensions\": [\"bmp\"]\n },\n \"image/x-pcx\": {\n \"source\": \"apache\",\n \"extensions\": [\"pcx\"]\n },\n \"image/x-pict\": {\n \"source\": \"apache\",\n \"extensions\": [\"pic\",\"pct\"]\n },\n \"image/x-portable-anymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pnm\"]\n },\n \"image/x-portable-bitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pbm\"]\n },\n \"image/x-portable-graymap\": {\n \"source\": \"apache\",\n \"extensions\": [\"pgm\"]\n },\n \"image/x-portable-pixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"ppm\"]\n },\n \"image/x-rgb\": {\n \"source\": \"apache\",\n \"extensions\": [\"rgb\"]\n },\n \"image/x-tga\": {\n \"source\": \"apache\",\n \"extensions\": [\"tga\"]\n },\n \"image/x-xbitmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xbm\"]\n },\n \"image/x-xcf\": {\n \"compressible\": false\n },\n \"image/x-xpixmap\": {\n \"source\": \"apache\",\n \"extensions\": [\"xpm\"]\n },\n \"image/x-xwindowdump\": {\n \"source\": \"apache\",\n \"extensions\": [\"xwd\"]\n },\n \"message/cpim\": {\n \"source\": \"iana\"\n },\n \"message/delivery-status\": {\n \"source\": \"iana\"\n },\n \"message/disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\n \"disposition-notification\"\n ]\n },\n \"message/external-body\": {\n \"source\": \"iana\"\n },\n \"message/feedback-report\": {\n \"source\": \"iana\"\n },\n \"message/global\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8msg\"]\n },\n \"message/global-delivery-status\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8dsn\"]\n },\n \"message/global-disposition-notification\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8mdn\"]\n },\n \"message/global-headers\": {\n \"source\": \"iana\",\n \"extensions\": [\"u8hdr\"]\n },\n \"message/http\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/imdn+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"message/news\": {\n \"source\": \"iana\"\n },\n \"message/partial\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"message/rfc822\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"eml\",\"mime\"]\n },\n \"message/s-http\": {\n \"source\": \"iana\"\n },\n \"message/sip\": {\n \"source\": \"iana\"\n },\n \"message/sipfrag\": {\n \"source\": \"iana\"\n },\n \"message/tracking-status\": {\n \"source\": \"iana\"\n },\n \"message/vnd.si.simp\": {\n \"source\": \"iana\"\n },\n \"message/vnd.wfa.wsc\": {\n \"source\": \"iana\",\n \"extensions\": [\"wsc\"]\n },\n \"model/3mf\": {\n \"source\": \"iana\",\n \"extensions\": [\"3mf\"]\n },\n \"model/e57\": {\n \"source\": \"iana\"\n },\n \"model/gltf+json\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"gltf\"]\n },\n \"model/gltf-binary\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"glb\"]\n },\n \"model/iges\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"igs\",\"iges\"]\n },\n \"model/mesh\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"msh\",\"mesh\",\"silo\"]\n },\n \"model/mtl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mtl\"]\n },\n \"model/obj\": {\n \"source\": \"iana\",\n \"extensions\": [\"obj\"]\n },\n \"model/step\": {\n \"source\": \"iana\"\n },\n \"model/step+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"stpx\"]\n },\n \"model/step+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpz\"]\n },\n \"model/step-xml+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"stpxz\"]\n },\n \"model/stl\": {\n \"source\": \"iana\",\n \"extensions\": [\"stl\"]\n },\n \"model/vnd.collada+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"dae\"]\n },\n \"model/vnd.dwf\": {\n \"source\": \"iana\",\n \"extensions\": [\"dwf\"]\n },\n \"model/vnd.flatland.3dml\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gdl\": {\n \"source\": \"iana\",\n \"extensions\": [\"gdl\"]\n },\n \"model/vnd.gs-gdl\": {\n \"source\": \"apache\"\n },\n \"model/vnd.gs.gdl\": {\n \"source\": \"iana\"\n },\n \"model/vnd.gtw\": {\n \"source\": \"iana\",\n \"extensions\": [\"gtw\"]\n },\n \"model/vnd.moml+xml\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"model/vnd.mts\": {\n \"source\": \"iana\",\n \"extensions\": [\"mts\"]\n },\n \"model/vnd.opengex\": {\n \"source\": \"iana\",\n \"extensions\": [\"ogex\"]\n },\n \"model/vnd.parasolid.transmit.binary\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_b\"]\n },\n \"model/vnd.parasolid.transmit.text\": {\n \"source\": \"iana\",\n \"extensions\": [\"x_t\"]\n },\n \"model/vnd.pytha.pyox\": {\n \"source\": \"iana\"\n },\n \"model/vnd.rosette.annotated-data-model\": {\n \"source\": \"iana\"\n },\n \"model/vnd.sap.vds\": {\n \"source\": \"iana\",\n \"extensions\": [\"vds\"]\n },\n \"model/vnd.usdz+zip\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"usdz\"]\n },\n \"model/vnd.valve.source.compiled-map\": {\n \"source\": \"iana\",\n \"extensions\": [\"bsp\"]\n },\n \"model/vnd.vtu\": {\n \"source\": \"iana\",\n \"extensions\": [\"vtu\"]\n },\n \"model/vrml\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"wrl\",\"vrml\"]\n },\n \"model/x3d+binary\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3db\",\"x3dbz\"]\n },\n \"model/x3d+fastinfoset\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3db\"]\n },\n \"model/x3d+vrml\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"x3dv\",\"x3dvz\"]\n },\n \"model/x3d+xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"x3d\",\"x3dz\"]\n },\n \"model/x3d-vrml\": {\n \"source\": \"iana\",\n \"extensions\": [\"x3dv\"]\n },\n \"multipart/alternative\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/appledouble\": {\n \"source\": \"iana\"\n },\n \"multipart/byteranges\": {\n \"source\": \"iana\"\n },\n \"multipart/digest\": {\n \"source\": \"iana\"\n },\n \"multipart/encrypted\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/form-data\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/header-set\": {\n \"source\": \"iana\"\n },\n \"multipart/mixed\": {\n \"source\": \"iana\"\n },\n \"multipart/multilingual\": {\n \"source\": \"iana\"\n },\n \"multipart/parallel\": {\n \"source\": \"iana\"\n },\n \"multipart/related\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/report\": {\n \"source\": \"iana\"\n },\n \"multipart/signed\": {\n \"source\": \"iana\",\n \"compressible\": false\n },\n \"multipart/vnd.bint.med-plus\": {\n \"source\": \"iana\"\n },\n \"multipart/voice-message\": {\n \"source\": \"iana\"\n },\n \"multipart/x-mixed-replace\": {\n \"source\": \"iana\"\n },\n \"text/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"text/cache-manifest\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"appcache\",\"manifest\"]\n },\n \"text/calendar\": {\n \"source\": \"iana\",\n \"extensions\": [\"ics\",\"ifb\"]\n },\n \"text/calender\": {\n \"compressible\": true\n },\n \"text/cmd\": {\n \"compressible\": true\n },\n \"text/coffeescript\": {\n \"extensions\": [\"coffee\",\"litcoffee\"]\n },\n \"text/cql\": {\n \"source\": \"iana\"\n },\n \"text/cql-expression\": {\n \"source\": \"iana\"\n },\n \"text/cql-identifier\": {\n \"source\": \"iana\"\n },\n \"text/css\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"css\"]\n },\n \"text/csv\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"csv\"]\n },\n \"text/csv-schema\": {\n \"source\": \"iana\"\n },\n \"text/directory\": {\n \"source\": \"iana\"\n },\n \"text/dns\": {\n \"source\": \"iana\"\n },\n \"text/ecmascript\": {\n \"source\": \"iana\"\n },\n \"text/encaprtp\": {\n \"source\": \"iana\"\n },\n \"text/enriched\": {\n \"source\": \"iana\"\n },\n \"text/fhirpath\": {\n \"source\": \"iana\"\n },\n \"text/flexfec\": {\n \"source\": \"iana\"\n },\n \"text/fwdred\": {\n \"source\": \"iana\"\n },\n \"text/gff3\": {\n \"source\": \"iana\"\n },\n \"text/grammar-ref-list\": {\n \"source\": \"iana\"\n },\n \"text/html\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"html\",\"htm\",\"shtml\"]\n },\n \"text/jade\": {\n \"extensions\": [\"jade\"]\n },\n \"text/javascript\": {\n \"source\": \"iana\",\n \"compressible\": true\n },\n \"text/jcr-cnd\": {\n \"source\": \"iana\"\n },\n \"text/jsx\": {\n \"compressible\": true,\n \"extensions\": [\"jsx\"]\n },\n \"text/less\": {\n \"compressible\": true,\n \"extensions\": [\"less\"]\n },\n \"text/markdown\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"markdown\",\"md\"]\n },\n \"text/mathml\": {\n \"source\": \"nginx\",\n \"extensions\": [\"mml\"]\n },\n \"text/mdx\": {\n \"compressible\": true,\n \"extensions\": [\"mdx\"]\n },\n \"text/mizar\": {\n \"source\": \"iana\"\n },\n \"text/n3\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"n3\"]\n },\n \"text/parameters\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/parityfec\": {\n \"source\": \"iana\"\n },\n \"text/plain\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]\n },\n \"text/provenance-notation\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/prs.fallenstein.rst\": {\n \"source\": \"iana\"\n },\n \"text/prs.lines.tag\": {\n \"source\": \"iana\",\n \"extensions\": [\"dsc\"]\n },\n \"text/prs.prop.logic\": {\n \"source\": \"iana\"\n },\n \"text/raptorfec\": {\n \"source\": \"iana\"\n },\n \"text/red\": {\n \"source\": \"iana\"\n },\n \"text/rfc822-headers\": {\n \"source\": \"iana\"\n },\n \"text/richtext\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtx\"]\n },\n \"text/rtf\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"rtf\"]\n },\n \"text/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"text/rtploopback\": {\n \"source\": \"iana\"\n },\n \"text/rtx\": {\n \"source\": \"iana\"\n },\n \"text/sgml\": {\n \"source\": \"iana\",\n \"extensions\": [\"sgml\",\"sgm\"]\n },\n \"text/shaclc\": {\n \"source\": \"iana\"\n },\n \"text/shex\": {\n \"source\": \"iana\",\n \"extensions\": [\"shex\"]\n },\n \"text/slim\": {\n \"extensions\": [\"slim\",\"slm\"]\n },\n \"text/spdx\": {\n \"source\": \"iana\",\n \"extensions\": [\"spdx\"]\n },\n \"text/strings\": {\n \"source\": \"iana\"\n },\n \"text/stylus\": {\n \"extensions\": [\"stylus\",\"styl\"]\n },\n \"text/t140\": {\n \"source\": \"iana\"\n },\n \"text/tab-separated-values\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"tsv\"]\n },\n \"text/troff\": {\n \"source\": \"iana\",\n \"extensions\": [\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]\n },\n \"text/turtle\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"ttl\"]\n },\n \"text/ulpfec\": {\n \"source\": \"iana\"\n },\n \"text/uri-list\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"uri\",\"uris\",\"urls\"]\n },\n \"text/vcard\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"vcard\"]\n },\n \"text/vnd.a\": {\n \"source\": \"iana\"\n },\n \"text/vnd.abc\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ascii-art\": {\n \"source\": \"iana\"\n },\n \"text/vnd.curl\": {\n \"source\": \"iana\",\n \"extensions\": [\"curl\"]\n },\n \"text/vnd.curl.dcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"dcurl\"]\n },\n \"text/vnd.curl.mcurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"mcurl\"]\n },\n \"text/vnd.curl.scurl\": {\n \"source\": \"apache\",\n \"extensions\": [\"scurl\"]\n },\n \"text/vnd.debian.copyright\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.dmclientscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.dvb.subtitle\": {\n \"source\": \"iana\",\n \"extensions\": [\"sub\"]\n },\n \"text/vnd.esmertec.theme-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.familysearch.gedcom\": {\n \"source\": \"iana\",\n \"extensions\": [\"ged\"]\n },\n \"text/vnd.ficlab.flt\": {\n \"source\": \"iana\"\n },\n \"text/vnd.fly\": {\n \"source\": \"iana\",\n \"extensions\": [\"fly\"]\n },\n \"text/vnd.fmi.flexstor\": {\n \"source\": \"iana\",\n \"extensions\": [\"flx\"]\n },\n \"text/vnd.gml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.graphviz\": {\n \"source\": \"iana\",\n \"extensions\": [\"gv\"]\n },\n \"text/vnd.hans\": {\n \"source\": \"iana\"\n },\n \"text/vnd.hgl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.in3d.3dml\": {\n \"source\": \"iana\",\n \"extensions\": [\"3dml\"]\n },\n \"text/vnd.in3d.spot\": {\n \"source\": \"iana\",\n \"extensions\": [\"spot\"]\n },\n \"text/vnd.iptc.newsml\": {\n \"source\": \"iana\"\n },\n \"text/vnd.iptc.nitf\": {\n \"source\": \"iana\"\n },\n \"text/vnd.latex-z\": {\n \"source\": \"iana\"\n },\n \"text/vnd.motorola.reflex\": {\n \"source\": \"iana\"\n },\n \"text/vnd.ms-mediapackage\": {\n \"source\": \"iana\"\n },\n \"text/vnd.net2phone.commcenter.command\": {\n \"source\": \"iana\"\n },\n \"text/vnd.radisys.msml-basic-layout\": {\n \"source\": \"iana\"\n },\n \"text/vnd.senx.warpscript\": {\n \"source\": \"iana\"\n },\n \"text/vnd.si.uricatalogue\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sosi\": {\n \"source\": \"iana\"\n },\n \"text/vnd.sun.j2me.app-descriptor\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"extensions\": [\"jad\"]\n },\n \"text/vnd.trolltech.linguist\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\"\n },\n \"text/vnd.wap.si\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.sl\": {\n \"source\": \"iana\"\n },\n \"text/vnd.wap.wml\": {\n \"source\": \"iana\",\n \"extensions\": [\"wml\"]\n },\n \"text/vnd.wap.wmlscript\": {\n \"source\": \"iana\",\n \"extensions\": [\"wmls\"]\n },\n \"text/vtt\": {\n \"source\": \"iana\",\n \"charset\": \"UTF-8\",\n \"compressible\": true,\n \"extensions\": [\"vtt\"]\n },\n \"text/x-asm\": {\n \"source\": \"apache\",\n \"extensions\": [\"s\",\"asm\"]\n },\n \"text/x-c\": {\n \"source\": \"apache\",\n \"extensions\": [\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]\n },\n \"text/x-component\": {\n \"source\": \"nginx\",\n \"extensions\": [\"htc\"]\n },\n \"text/x-fortran\": {\n \"source\": \"apache\",\n \"extensions\": [\"f\",\"for\",\"f77\",\"f90\"]\n },\n \"text/x-gwt-rpc\": {\n \"compressible\": true\n },\n \"text/x-handlebars-template\": {\n \"extensions\": [\"hbs\"]\n },\n \"text/x-java-source\": {\n \"source\": \"apache\",\n \"extensions\": [\"java\"]\n },\n \"text/x-jquery-tmpl\": {\n \"compressible\": true\n },\n \"text/x-lua\": {\n \"extensions\": [\"lua\"]\n },\n \"text/x-markdown\": {\n \"compressible\": true,\n \"extensions\": [\"mkd\"]\n },\n \"text/x-nfo\": {\n \"source\": \"apache\",\n \"extensions\": [\"nfo\"]\n },\n \"text/x-opml\": {\n \"source\": \"apache\",\n \"extensions\": [\"opml\"]\n },\n \"text/x-org\": {\n \"compressible\": true,\n \"extensions\": [\"org\"]\n },\n \"text/x-pascal\": {\n \"source\": \"apache\",\n \"extensions\": [\"p\",\"pas\"]\n },\n \"text/x-processing\": {\n \"compressible\": true,\n \"extensions\": [\"pde\"]\n },\n \"text/x-sass\": {\n \"extensions\": [\"sass\"]\n },\n \"text/x-scss\": {\n \"extensions\": [\"scss\"]\n },\n \"text/x-setext\": {\n \"source\": \"apache\",\n \"extensions\": [\"etx\"]\n },\n \"text/x-sfv\": {\n \"source\": \"apache\",\n \"extensions\": [\"sfv\"]\n },\n \"text/x-suse-ymp\": {\n \"compressible\": true,\n \"extensions\": [\"ymp\"]\n },\n \"text/x-uuencode\": {\n \"source\": \"apache\",\n \"extensions\": [\"uu\"]\n },\n \"text/x-vcalendar\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcs\"]\n },\n \"text/x-vcard\": {\n \"source\": \"apache\",\n \"extensions\": [\"vcf\"]\n },\n \"text/xml\": {\n \"source\": \"iana\",\n \"compressible\": true,\n \"extensions\": [\"xml\"]\n },\n \"text/xml-external-parsed-entity\": {\n \"source\": \"iana\"\n },\n \"text/yaml\": {\n \"compressible\": true,\n \"extensions\": [\"yaml\",\"yml\"]\n },\n \"video/1d-interleaved-parityfec\": {\n \"source\": \"iana\"\n },\n \"video/3gpp\": {\n \"source\": \"iana\",\n \"extensions\": [\"3gp\",\"3gpp\"]\n },\n \"video/3gpp-tt\": {\n \"source\": \"iana\"\n },\n \"video/3gpp2\": {\n \"source\": \"iana\",\n \"extensions\": [\"3g2\"]\n },\n \"video/av1\": {\n \"source\": \"iana\"\n },\n \"video/bmpeg\": {\n \"source\": \"iana\"\n },\n \"video/bt656\": {\n \"source\": \"iana\"\n },\n \"video/celb\": {\n \"source\": \"iana\"\n },\n \"video/dv\": {\n \"source\": \"iana\"\n },\n \"video/encaprtp\": {\n \"source\": \"iana\"\n },\n \"video/ffv1\": {\n \"source\": \"iana\"\n },\n \"video/flexfec\": {\n \"source\": \"iana\"\n },\n \"video/h261\": {\n \"source\": \"iana\",\n \"extensions\": [\"h261\"]\n },\n \"video/h263\": {\n \"source\": \"iana\",\n \"extensions\": [\"h263\"]\n },\n \"video/h263-1998\": {\n \"source\": \"iana\"\n },\n \"video/h263-2000\": {\n \"source\": \"iana\"\n },\n \"video/h264\": {\n \"source\": \"iana\",\n \"extensions\": [\"h264\"]\n },\n \"video/h264-rcdo\": {\n \"source\": \"iana\"\n },\n \"video/h264-svc\": {\n \"source\": \"iana\"\n },\n \"video/h265\": {\n \"source\": \"iana\"\n },\n \"video/iso.segment\": {\n \"source\": \"iana\",\n \"extensions\": [\"m4s\"]\n },\n \"video/jpeg\": {\n \"source\": \"iana\",\n \"extensions\": [\"jpgv\"]\n },\n \"video/jpeg2000\": {\n \"source\": \"iana\"\n },\n \"video/jpm\": {\n \"source\": \"apache\",\n \"extensions\": [\"jpm\",\"jpgm\"]\n },\n \"video/jxsv\": {\n \"source\": \"iana\"\n },\n \"video/mj2\": {\n \"source\": \"iana\",\n \"extensions\": [\"mj2\",\"mjp2\"]\n },\n \"video/mp1s\": {\n \"source\": \"iana\"\n },\n \"video/mp2p\": {\n \"source\": \"iana\"\n },\n \"video/mp2t\": {\n \"source\": \"iana\",\n \"extensions\": [\"ts\"]\n },\n \"video/mp4\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mp4\",\"mp4v\",\"mpg4\"]\n },\n \"video/mp4v-es\": {\n \"source\": \"iana\"\n },\n \"video/mpeg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]\n },\n \"video/mpeg4-generic\": {\n \"source\": \"iana\"\n },\n \"video/mpv\": {\n \"source\": \"iana\"\n },\n \"video/nv\": {\n \"source\": \"iana\"\n },\n \"video/ogg\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"ogv\"]\n },\n \"video/parityfec\": {\n \"source\": \"iana\"\n },\n \"video/pointer\": {\n \"source\": \"iana\"\n },\n \"video/quicktime\": {\n \"source\": \"iana\",\n \"compressible\": false,\n \"extensions\": [\"qt\",\"mov\"]\n },\n \"video/raptorfec\": {\n \"source\": \"iana\"\n },\n \"video/raw\": {\n \"source\": \"iana\"\n },\n \"video/rtp-enc-aescm128\": {\n \"source\": \"iana\"\n },\n \"video/rtploopback\": {\n \"source\": \"iana\"\n },\n \"video/rtx\": {\n \"source\": \"iana\"\n },\n \"video/scip\": {\n \"source\": \"iana\"\n },\n \"video/smpte291\": {\n \"source\": \"iana\"\n },\n \"video/smpte292m\": {\n \"source\": \"iana\"\n },\n \"video/ulpfec\": {\n \"source\": \"iana\"\n },\n \"video/vc1\": {\n \"source\": \"iana\"\n },\n \"video/vc2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.cctv\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.hd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvh\",\"uvvh\"]\n },\n \"video/vnd.dece.mobile\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvm\",\"uvvm\"]\n },\n \"video/vnd.dece.mp4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dece.pd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvp\",\"uvvp\"]\n },\n \"video/vnd.dece.sd\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvs\",\"uvvs\"]\n },\n \"video/vnd.dece.video\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvv\",\"uvvv\"]\n },\n \"video/vnd.directv.mpeg\": {\n \"source\": \"iana\"\n },\n \"video/vnd.directv.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dlna.mpeg-tts\": {\n \"source\": \"iana\"\n },\n \"video/vnd.dvb.file\": {\n \"source\": \"iana\",\n \"extensions\": [\"dvb\"]\n },\n \"video/vnd.fvt\": {\n \"source\": \"iana\",\n \"extensions\": [\"fvt\"]\n },\n \"video/vnd.hns.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.1dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-1010\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.2dparityfec-2005\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsavc\": {\n \"source\": \"iana\"\n },\n \"video/vnd.iptvforum.ttsmpeg2\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.video\": {\n \"source\": \"iana\"\n },\n \"video/vnd.motorola.videop\": {\n \"source\": \"iana\"\n },\n \"video/vnd.mpegurl\": {\n \"source\": \"iana\",\n \"extensions\": [\"mxu\",\"m4u\"]\n },\n \"video/vnd.ms-playready.media.pyv\": {\n \"source\": \"iana\",\n \"extensions\": [\"pyv\"]\n },\n \"video/vnd.nokia.interleaved-multimedia\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.mp4vr\": {\n \"source\": \"iana\"\n },\n \"video/vnd.nokia.videovoip\": {\n \"source\": \"iana\"\n },\n \"video/vnd.objectvideo\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.bink\": {\n \"source\": \"iana\"\n },\n \"video/vnd.radgamettools.smacker\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg1\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.mpeg4\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealed.swf\": {\n \"source\": \"iana\"\n },\n \"video/vnd.sealedmedia.softseal.mov\": {\n \"source\": \"iana\"\n },\n \"video/vnd.uvvu.mp4\": {\n \"source\": \"iana\",\n \"extensions\": [\"uvu\",\"uvvu\"]\n },\n \"video/vnd.vivo\": {\n \"source\": \"iana\",\n \"extensions\": [\"viv\"]\n },\n \"video/vnd.youtube.yt\": {\n \"source\": \"iana\"\n },\n \"video/vp8\": {\n \"source\": \"iana\"\n },\n \"video/vp9\": {\n \"source\": \"iana\"\n },\n \"video/webm\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"webm\"]\n },\n \"video/x-f4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"f4v\"]\n },\n \"video/x-fli\": {\n \"source\": \"apache\",\n \"extensions\": [\"fli\"]\n },\n \"video/x-flv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"flv\"]\n },\n \"video/x-m4v\": {\n \"source\": \"apache\",\n \"extensions\": [\"m4v\"]\n },\n \"video/x-matroska\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"mkv\",\"mk3d\",\"mks\"]\n },\n \"video/x-mng\": {\n \"source\": \"apache\",\n \"extensions\": [\"mng\"]\n },\n \"video/x-ms-asf\": {\n \"source\": \"apache\",\n \"extensions\": [\"asf\",\"asx\"]\n },\n \"video/x-ms-vob\": {\n \"source\": \"apache\",\n \"extensions\": [\"vob\"]\n },\n \"video/x-ms-wm\": {\n \"source\": \"apache\",\n \"extensions\": [\"wm\"]\n },\n \"video/x-ms-wmv\": {\n \"source\": \"apache\",\n \"compressible\": false,\n \"extensions\": [\"wmv\"]\n },\n \"video/x-ms-wmx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wmx\"]\n },\n \"video/x-ms-wvx\": {\n \"source\": \"apache\",\n \"extensions\": [\"wvx\"]\n },\n \"video/x-msvideo\": {\n \"source\": \"apache\",\n \"extensions\": [\"avi\"]\n },\n \"video/x-sgi-movie\": {\n \"source\": \"apache\",\n \"extensions\": [\"movie\"]\n },\n \"video/x-smv\": {\n \"source\": \"apache\",\n \"extensions\": [\"smv\"]\n },\n \"x-conference/x-cooltalk\": {\n \"source\": \"apache\",\n \"extensions\": [\"ice\"]\n },\n \"x-shader/x-fragment\": {\n \"compressible\": true\n },\n \"x-shader/x-vertex\": {\n \"compressible\": true\n }\n}\n","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n","module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n var nextTick = typeof setImmediate == 'function'\n ? setImmediate\n : (\n typeof process == 'object' && typeof process.nextTick == 'function'\n ? process.nextTick\n : null\n );\n\n if (nextTick)\n {\n nextTick(fn);\n }\n else\n {\n setTimeout(fn, 0);\n }\n}\n","var defer = require('./defer.js');\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n var isAsync = false;\n\n // check if async happened\n defer(function() { isAsync = true; });\n\n return function async_callback(err, result)\n {\n if (isAsync)\n {\n callback(err, result);\n }\n else\n {\n defer(function nextTick_callback()\n {\n callback(err, result);\n });\n }\n };\n}\n","// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n Object.keys(state.jobs).forEach(clean.bind(state));\n\n // reset leftover jobs\n state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n if (typeof this.jobs[key] == 'function')\n {\n this.jobs[key]();\n }\n}\n","var async = require('./async.js')\n , abort = require('./abort.js')\n ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n // store current index\n var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n {\n // don't repeat yourself\n // skip secondary callbacks\n if (!(key in state.jobs))\n {\n return;\n }\n\n // clean up jobs\n delete state.jobs[key];\n\n if (error)\n {\n // don't process rest of the results\n // stop still active jobs\n // and reset the list\n abort(state);\n }\n else\n {\n state.results[key] = output;\n }\n\n // return salvaged results\n callback(error, state.results);\n });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param {function} iterator - iterator to invoke\n * @param {string|number} key - key/index of the element in the list of jobs\n * @param {mixed} item - job description\n * @param {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n var aborter;\n\n // allow shortcut if iterator expects only two arguments\n if (iterator.length == 2)\n {\n aborter = iterator(item, async(callback));\n }\n // otherwise go with full three arguments\n else\n {\n aborter = iterator(item, key, async(callback));\n }\n\n return aborter;\n}\n","// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param {array|object} list - list to iterate over\n * @param {function|null} sortMethod - function to use for keys sort,\n * or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n var isNamedList = !Array.isArray(list)\n , initState =\n {\n index : 0,\n keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n jobs : {},\n results : isNamedList ? {} : [],\n size : isNamedList ? Object.keys(list).length : list.length\n }\n ;\n\n if (sortMethod)\n {\n // sort array keys based on it's values\n // sort object's keys just on own merit\n initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n {\n return sortMethod(list[a], list[b]);\n });\n }\n\n return initState;\n}\n","var abort = require('./abort.js')\n , async = require('./async.js')\n ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n if (!Object.keys(this.jobs).length)\n {\n return;\n }\n\n // fast forward iteration index\n this.index = this.size;\n\n // abort jobs\n abort(this);\n\n // send back results we have so far\n async(callback)(null, this.results);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n var state = initState(list);\n\n while (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, function(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n // looks like it's the last one\n if (Object.keys(state.jobs).length === 0)\n {\n callback(null, state.results);\n return;\n }\n });\n\n state.index++;\n }\n\n return terminator.bind(state, callback);\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} sortMethod - custom sort function\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n var state = initState(list, sortMethod);\n\n iterate(list, iterator, state, function iteratorHandler(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n state.index++;\n\n // are we there yet?\n if (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, iteratorHandler);\n return;\n }\n\n // done here\n callback(null, state.results);\n });\n\n return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n return -1 * ascending(a, b);\n}\n","var serialOrdered = require('./serialOrdered.js');\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n return serialOrdered(list, iterator, null, callback);\n}\n","module.exports =\n{\n parallel : require('./parallel.js'),\n serial : require('./serial.js'),\n serialOrdered : require('./serialOrdered.js')\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar $TypeError = require('es-errors/type');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force;\n\tvar nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable;\n\tif (\n\t\t(typeof overrideIfSet !== 'undefined' && typeof overrideIfSet !== 'boolean')\n\t\t|| (typeof nonConfigurable !== 'undefined' && typeof nonConfigurable !== 'boolean')\n\t) {\n\t\tthrow new $TypeError('if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans');\n\t}\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: !nonConfigurable,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n","'use strict';\n\n// populates missing values\nmodule.exports = function (dst, src) {\n Object.keys(src).forEach(function (prop) {\n dst[prop] = dst[prop] || src[prop]; // eslint-disable-line no-param-reassign\n });\n\n return dst;\n};\n","'use strict';\n\nvar CombinedStream = require('combined-stream');\nvar util = require('util');\nvar path = require('path');\nvar http = require('http');\nvar https = require('https');\nvar parseUrl = require('url').parse;\nvar fs = require('fs');\nvar Stream = require('stream').Stream;\nvar crypto = require('crypto');\nvar mime = require('mime-types');\nvar asynckit = require('asynckit');\nvar setToStringTag = require('es-set-tostringtag');\nvar hasOwn = require('hasown');\nvar populate = require('./populate.js');\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n if (!(this instanceof FormData)) {\n return new FormData(options);\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n\n options = options || {}; // eslint-disable-line no-param-reassign\n for (var option in options) { // eslint-disable-line no-restricted-syntax\n this[option] = options[option];\n }\n}\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function (field, value, options) {\n options = options || {}; // eslint-disable-line no-param-reassign\n\n // allow filename as single option\n if (typeof options === 'string') {\n options = { filename: options }; // eslint-disable-line no-param-reassign\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value === 'number' || value == null) {\n value = String(value); // eslint-disable-line no-param-reassign\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (Array.isArray(value)) {\n /*\n * Please convert your array into string\n * the way web server expects it\n */\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function (header, value, options) {\n var valueLength = 0;\n\n /*\n * used w/ getLengthSync(), when length is known.\n * e.g. for streaming directly from a remote server,\n * w/ a known file a size, and not wanting to wait for\n * incoming file to finish to get its size.\n */\n if (options.knownLength != null) {\n valueLength += Number(options.knownLength);\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength += Buffer.byteLength(header) + FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response or not a stream\n if (!value || (!value.path && !(value.readable && hasOwn(value, 'httpVersion')) && !(value instanceof Stream))) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function (value, callback) {\n if (hasOwn(value, 'fd')) {\n // take read range into a account\n // `end` = Infinity –> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0)); // eslint-disable-line callback-return\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function (err, stat) {\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n var fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (hasOwn(value, 'httpVersion')) {\n callback(null, Number(value.headers['content-length'])); // eslint-disable-line callback-return\n\n // or request stream http://github.com/mikeal/request\n } else if (hasOwn(value, 'httpModule')) {\n // wait till response come back\n value.on('response', function (response) {\n value.pause();\n callback(null, Number(response.headers['content-length']));\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream'); // eslint-disable-line callback-return\n }\n};\n\nFormData.prototype._multiPartHeader = function (field, value, options) {\n /*\n * custom header specified (as string)?\n * it becomes responsible for boundary\n * (e.g. to handle extra CRLFs on .NET servers)\n */\n if (typeof options.header === 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header === 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) { // eslint-disable-line no-restricted-syntax\n if (hasOwn(headers, prop)) {\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function (value, options) { // eslint-disable-line consistent-return\n var filename;\n\n if (typeof options.filepath === 'string') {\n // custom filepath for relative paths\n filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n } else if (options.filename || (value && (value.name || value.path))) {\n /*\n * custom filename take precedence\n * formidable and the browser add a name property\n * fs- and request- streams have path property\n */\n filename = path.basename(options.filename || (value && (value.name || value.path)));\n } else if (value && value.readable && hasOwn(value, 'httpVersion')) {\n // or try http response\n filename = path.basename(value.client._httpMessage.path || '');\n }\n\n if (filename) {\n return 'filename=\"' + filename + '\"';\n }\n};\n\nFormData.prototype._getContentType = function (value, options) {\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value && value.readable && hasOwn(value, 'httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filepath or filename\n if (!contentType && (options.filepath || options.filename)) {\n contentType = mime.lookup(options.filepath || options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && value && typeof value === 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function () {\n return function (next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = this._streams.length === 0;\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function () {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function (userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) { // eslint-disable-line no-restricted-syntax\n if (hasOwn(userHeaders, header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.setBoundary = function (boundary) {\n if (typeof boundary !== 'string') {\n throw new TypeError('FormData boundary must be a string');\n }\n this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function () {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype.getBuffer = function () {\n var dataBuffer = new Buffer.alloc(0); // eslint-disable-line new-cap\n var boundary = this.getBoundary();\n\n // Create the form content. Add Line breaks to the end of data.\n for (var i = 0, len = this._streams.length; i < len; i++) {\n if (typeof this._streams[i] !== 'function') {\n // Add content to the buffer.\n if (Buffer.isBuffer(this._streams[i])) {\n dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]);\n } else {\n dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]);\n }\n\n // Add break after content.\n if (typeof this._streams[i] !== 'string' || this._streams[i].substring(2, boundary.length + 2) !== boundary) {\n dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData.LINE_BREAK)]);\n }\n }\n }\n\n // Add the footer and return the Buffer object.\n return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]);\n};\n\nFormData.prototype._generateBoundary = function () {\n // This generates a 50 character boundary similar to those used by Firefox.\n\n // They are optimized for boyer-moore parsing.\n this._boundary = '--------------------------' + crypto.randomBytes(12).toString('hex');\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually and add it as knownLength option\nFormData.prototype.getLengthSync = function () {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n /*\n * Some async length retrievers are present\n * therefore synchronous length calculation is false.\n * Please use getLength(callback) to get proper length\n */\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function () {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function (cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function (err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function (length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function (params, cb) {\n var request;\n var options;\n var defaults = { method: 'post' };\n\n // parse provided url if it's string or treat it as options object\n if (typeof params === 'string') {\n params = parseUrl(params); // eslint-disable-line no-param-reassign\n /* eslint sort-keys: 0 */\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname,\n protocol: params.protocol\n }, defaults);\n } else { // use custom params\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol === 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol === 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function (err, length) {\n if (err && err !== 'Unknown stream') {\n this._error(err);\n return;\n }\n\n // add content length\n if (length) {\n request.setHeader('Content-Length', length);\n }\n\n this.pipe(request);\n if (cb) {\n var onResponse;\n\n var callback = function (error, responce) {\n request.removeListener('error', callback);\n request.removeListener('response', onResponse);\n\n return cb.call(this, error, responce);\n };\n\n onResponse = callback.bind(this, null);\n\n request.on('error', callback);\n request.on('response', onResponse);\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function (err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\nsetToStringTag(FormData.prototype, 'FormData');\n\n// Public API\nmodule.exports = FormData;\n","'use strict';\n\nvar parseUrl = require('url').parse;\n\nvar DEFAULT_PORTS = {\n ftp: 21,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443,\n};\n\nvar stringEndsWith = String.prototype.endsWith || function(s) {\n return s.length <= this.length &&\n this.indexOf(s, this.length - s.length) !== -1;\n};\n\n/**\n * @param {string|object} url - The URL, or the result from url.parse.\n * @return {string} The URL of the proxy that should handle the request to the\n * given URL. If no proxy is set, this will be an empty string.\n */\nfunction getProxyForUrl(url) {\n var parsedUrl = typeof url === 'string' ? parseUrl(url) : url || {};\n var proto = parsedUrl.protocol;\n var hostname = parsedUrl.host;\n var port = parsedUrl.port;\n if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') {\n return ''; // Don't proxy URLs without a valid scheme or host.\n }\n\n proto = proto.split(':', 1)[0];\n // Stripping ports in this way instead of using parsedUrl.hostname to make\n // sure that the brackets around IPv6 addresses are kept.\n hostname = hostname.replace(/:\\d*$/, '');\n port = parseInt(port) || DEFAULT_PORTS[proto] || 0;\n if (!shouldProxy(hostname, port)) {\n return ''; // Don't proxy URLs that match NO_PROXY.\n }\n\n var proxy =\n getEnv('npm_config_' + proto + '_proxy') ||\n getEnv(proto + '_proxy') ||\n getEnv('npm_config_proxy') ||\n getEnv('all_proxy');\n if (proxy && proxy.indexOf('://') === -1) {\n // Missing scheme in proxy, default to the requested URL's scheme.\n proxy = proto + '://' + proxy;\n }\n return proxy;\n}\n\n/**\n * Determines whether a given URL should be proxied.\n *\n * @param {string} hostname - The host name of the URL.\n * @param {number} port - The effective port of the URL.\n * @returns {boolean} Whether the given URL should be proxied.\n * @private\n */\nfunction shouldProxy(hostname, port) {\n var NO_PROXY =\n (getEnv('npm_config_no_proxy') || getEnv('no_proxy')).toLowerCase();\n if (!NO_PROXY) {\n return true; // Always proxy if NO_PROXY is not set.\n }\n if (NO_PROXY === '*') {\n return false; // Never proxy if wildcard is set.\n }\n\n return NO_PROXY.split(/[,\\s]/).every(function(proxy) {\n if (!proxy) {\n return true; // Skip zero-length hosts.\n }\n var parsedProxy = proxy.match(/^(.+):(\\d+)$/);\n var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;\n var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;\n if (parsedProxyPort && parsedProxyPort !== port) {\n return true; // Skip if ports don't match.\n }\n\n if (!/^[.*]/.test(parsedProxyHostname)) {\n // No wildcards, so stop proxying if there is an exact match.\n return hostname !== parsedProxyHostname;\n }\n\n if (parsedProxyHostname.charAt(0) === '*') {\n // Remove leading wildcard.\n parsedProxyHostname = parsedProxyHostname.slice(1);\n }\n // Stop proxying if the hostname ends with the no_proxy host.\n return !stringEndsWith.call(hostname, parsedProxyHostname);\n });\n}\n\n/**\n * Get the value for an environment variable.\n *\n * @param {string} key - The name of the environment variable.\n * @return {string} The value of the environment variable.\n * @private\n */\nfunction getEnv(key) {\n return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || '';\n}\n\nexports.getProxyForUrl = getProxyForUrl;\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","'use strict';\nmodule.exports = (flag, argv) => {\n\targv = argv || process.argv;\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst pos = argv.indexOf(prefix + flag);\n\tconst terminatorPos = argv.indexOf('--');\n\treturn pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);\n};\n","'use strict';\nconst os = require('os');\nconst hasFlag = require('has-flag');\n\nconst env = process.env;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false')) {\n\tforceColor = false;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = true;\n}\nif ('FORCE_COLOR' in env) {\n\tforceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0;\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(stream) {\n\tif (forceColor === false) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (stream && !stream.isTTY && forceColor !== true) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor ? 1 : 0;\n\n\tif (process.platform === 'win32') {\n\t\t// Node.js 7.5.0 is the first version of Node.js to include a patch to\n\t\t// libuv that enables 256 color output on Windows. Anything earlier and it\n\t\t// won't work. However, here we target Node.js 8 at minimum as it is an LTS\n\t\t// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows\n\t\t// release that supports 256 colors. Windows 10 build 14931 is the first release\n\t\t// that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(process.versions.node.split('.')[0]) >= 8 &&\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: getSupportLevel(process.stdout),\n\tstderr: getSupportLevel(process.stderr)\n};\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n","var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Preventive platform detection\n// istanbul ignore next\n(function detectUnsupportedEnvironment() {\n var looksLikeNode = typeof process !== \"undefined\";\n var looksLikeBrowser = typeof window !== \"undefined\" && typeof document !== \"undefined\";\n var looksLikeV8 = isFunction(Error.captureStackTrace);\n if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {\n console.warn(\"The follow-redirects package should be excluded from browser builds.\");\n }\n}());\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL(\"\"));\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230§5.3.1: When making a request directly to an origin server, […]\n // a client MUST send only the absolute path […] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, […]\n // a client MUST send the target URI in absolute-form […].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n // istanbul ignore else\n if (request === self._currentRequest) {\n // Report any write errors\n // istanbul ignore if\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n // istanbul ignore else\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe, […]\n // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231§6.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource […]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) […]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n // istanbul ignore else\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n // istanbul ignore next\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n // istanbul ignore else\n if (isFunction(Error.captureStackTrace)) {\n Error.captureStackTrace(this, this.constructor);\n }\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","import FormData from 'form-data';\n\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport url from 'url';\nexport default url.URLSearchParams;\n","import crypto from 'crypto';\nimport URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n const randomValues = new Uint32Array(size);\n crypto.randomFillSync(randomValues);\n for (let i = 0; i < size; i++) {\n str += alphabet[randomValues[i] % length];\n }\n\n return str;\n}\n\n\nexport default {\n isNode: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob: typeof Blob !== 'undefined' && Blob || null\n },\n ALPHABET,\n generateString,\n protocols: [ 'http', 'https', 'file', 'data' ]\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport buildURL from './../helpers/buildURL.js';\nimport proxyFromEnv from 'proxy-from-env';\nimport http from 'http';\nimport https from 'https';\nimport http2 from 'http2';\nimport util from 'util';\nimport followRedirects from 'follow-redirects';\nimport zlib from 'zlib';\nimport {VERSION} from '../env/data.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport platform from '../platform/index.js';\nimport fromDataURI from '../helpers/fromDataURI.js';\nimport stream from 'stream';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport AxiosTransformStream from '../helpers/AxiosTransformStream.js';\nimport {EventEmitter} from 'events';\nimport formDataToStream from \"../helpers/formDataToStream.js\";\nimport readBlob from \"../helpers/readBlob.js\";\nimport ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js';\nimport callbackify from \"../helpers/callbackify.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport estimateDataURLDecodedBytes from '../helpers/estimateDataURLDecodedBytes.js';\n\nconst zlibOptions = {\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n};\n\nconst brotliOptions = {\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n}\n\nconst isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress);\n\nconst {http: httpFollow, https: httpsFollow} = followRedirects;\n\nconst isHttps = /https:?/;\n\nconst supportedProtocols = platform.protocols.map(protocol => {\n return protocol + ':';\n});\n\n\nconst flushOnFinish = (stream, [throttled, flush]) => {\n stream\n .on('end', flush)\n .on('error', flush);\n\n return throttled;\n}\n\nclass Http2Sessions {\n constructor() {\n this.sessions = Object.create(null);\n }\n\n getSession(authority, options) {\n options = Object.assign({\n sessionTimeout: 1000\n }, options);\n\n let authoritySessions = this.sessions[authority];\n\n if (authoritySessions) {\n let len = authoritySessions.length;\n\n for (let i = 0; i < len; i++) {\n const [sessionHandle, sessionOptions] = authoritySessions[i];\n if (!sessionHandle.destroyed && !sessionHandle.closed && util.isDeepStrictEqual(sessionOptions, options)) {\n return sessionHandle;\n }\n }\n }\n\n const session = http2.connect(authority, options);\n\n let removed;\n\n const removeSession = () => {\n if (removed) {\n return;\n }\n\n removed = true;\n\n let entries = authoritySessions, len = entries.length, i = len;\n\n while (i--) {\n if (entries[i][0] === session) {\n if (len === 1) {\n delete this.sessions[authority];\n } else {\n entries.splice(i, 1);\n }\n return;\n }\n }\n };\n\n const originalRequestFn = session.request;\n\n const {sessionTimeout} = options;\n\n if(sessionTimeout != null) {\n\n let timer;\n let streamsCount = 0;\n\n session.request = function () {\n const stream = originalRequestFn.apply(this, arguments);\n\n streamsCount++;\n\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n\n stream.once('close', () => {\n if (!--streamsCount) {\n timer = setTimeout(() => {\n timer = null;\n removeSession();\n }, sessionTimeout);\n }\n });\n\n return stream;\n }\n }\n\n session.once('close', removeSession);\n\n let entry = [\n session,\n options\n ];\n\n authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry];\n\n return session;\n }\n}\n\nconst http2Sessions = new Http2Sessions();\n\n\n/**\n * If the proxy or config beforeRedirects functions are defined, call them with the options\n * object.\n *\n * @param {Object<string, any>} options - The options object that was passed to the request.\n *\n * @returns {Object<string, any>}\n */\nfunction dispatchBeforeRedirect(options, responseDetails) {\n if (options.beforeRedirects.proxy) {\n options.beforeRedirects.proxy(options);\n }\n if (options.beforeRedirects.config) {\n options.beforeRedirects.config(options, responseDetails);\n }\n}\n\n/**\n * If the proxy or config afterRedirects functions are defined, call them with the options\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} configProxy configuration from Axios options object\n * @param {string} location\n *\n * @returns {http.ClientRequestArgs}\n */\nfunction setProxy(options, configProxy, location) {\n let proxy = configProxy;\n if (!proxy && proxy !== false) {\n const proxyUrl = proxyFromEnv.getProxyForUrl(location);\n if (proxyUrl) {\n proxy = new URL(proxyUrl);\n }\n }\n if (proxy) {\n // Basic proxy authorization\n if (proxy.username) {\n proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');\n }\n\n if (proxy.auth) {\n // Support proxy auth object form\n if (proxy.auth.username || proxy.auth.password) {\n proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');\n }\n const base64 = Buffer\n .from(proxy.auth, 'utf8')\n .toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n options.headers.host = options.hostname + (options.port ? ':' + options.port : '');\n const proxyHost = proxy.hostname || proxy.host;\n options.hostname = proxyHost;\n // Replace 'host' since options is not a URL object\n options.host = proxyHost;\n options.port = proxy.port;\n options.path = location;\n if (proxy.protocol) {\n options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;\n }\n }\n\n options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {\n // Configure proxy for redirected request, passing the original config proxy to apply\n // the exact same logic as if the redirected request was performed by axios directly.\n setProxy(redirectOptions, configProxy, redirectOptions.href);\n };\n}\n\nconst isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process';\n\n// temporary hotfix\n\nconst wrapAsync = (asyncExecutor) => {\n return new Promise((resolve, reject) => {\n let onDone;\n let isDone;\n\n const done = (value, isRejected) => {\n if (isDone) return;\n isDone = true;\n onDone && onDone(value, isRejected);\n }\n\n const _resolve = (value) => {\n done(value);\n resolve(value);\n };\n\n const _reject = (reason) => {\n done(reason, true);\n reject(reason);\n }\n\n asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);\n })\n};\n\nconst resolveFamily = ({address, family}) => {\n if (!utils.isString(address)) {\n throw TypeError('address must be a string');\n }\n return ({\n address,\n family: family || (address.indexOf('.') < 0 ? 6 : 4)\n });\n}\n\nconst buildAddressEntry = (address, family) => resolveFamily(utils.isObject(address) ? address : {address, family});\n\nconst http2Transport = {\n request(options, cb) {\n const authority = options.protocol + '//' + options.hostname + ':' + (options.port || 80);\n\n const {http2Options, headers} = options;\n\n const session = http2Sessions.getSession(authority, http2Options);\n\n const {\n HTTP2_HEADER_SCHEME,\n HTTP2_HEADER_METHOD,\n HTTP2_HEADER_PATH,\n HTTP2_HEADER_STATUS\n } = http2.constants;\n\n const http2Headers = {\n [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''),\n [HTTP2_HEADER_METHOD]: options.method,\n [HTTP2_HEADER_PATH]: options.path,\n }\n\n utils.forEach(headers, (header, name) => {\n name.charAt(0) !== ':' && (http2Headers[name] = header);\n });\n\n const req = session.request(http2Headers);\n\n req.once('response', (responseHeaders) => {\n const response = req; //duplex\n\n responseHeaders = Object.assign({}, responseHeaders);\n\n const status = responseHeaders[HTTP2_HEADER_STATUS];\n\n delete responseHeaders[HTTP2_HEADER_STATUS];\n\n response.headers = responseHeaders;\n\n response.statusCode = +status;\n\n cb(response);\n })\n\n return req;\n }\n}\n\n/*eslint consistent-return:0*/\nexport default isHttpAdapterSupported && function httpAdapter(config) {\n return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {\n let {data, lookup, family, httpVersion = 1, http2Options} = config;\n const {responseType, responseEncoding} = config;\n const method = config.method.toUpperCase();\n let isDone;\n let rejected = false;\n let req;\n\n httpVersion = +httpVersion;\n\n if (Number.isNaN(httpVersion)) {\n throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`);\n }\n\n if (httpVersion !== 1 && httpVersion !== 2) {\n throw TypeError(`Unsupported protocol version '${httpVersion}'`);\n }\n\n const isHttp2 = httpVersion === 2;\n\n if (lookup) {\n const _lookup = callbackify(lookup, (value) => utils.isArray(value) ? value : [value]);\n // hotfix to support opt.all option which is required for node 20.x\n lookup = (hostname, opt, cb) => {\n _lookup(hostname, opt, (err, arg0, arg1) => {\n if (err) {\n return cb(err);\n }\n\n const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];\n\n opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);\n });\n }\n }\n\n const abortEmitter = new EventEmitter();\n\n function abort(reason) {\n try {\n abortEmitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);\n } catch(err) {\n console.warn('emit error', err);\n }\n }\n\n abortEmitter.once('abort', reject);\n\n const onFinished = () => {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(abort);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', abort);\n }\n\n abortEmitter.removeAllListeners();\n }\n\n if (config.cancelToken || config.signal) {\n config.cancelToken && config.cancelToken.subscribe(abort);\n if (config.signal) {\n config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);\n }\n }\n\n onDone((response, isRejected) => {\n isDone = true;\n\n if (isRejected) {\n rejected = true;\n onFinished();\n return;\n }\n\n const {data} = response;\n\n if (data instanceof stream.Readable || data instanceof stream.Duplex) {\n const offListeners = stream.finished(data, () => {\n offListeners();\n onFinished();\n });\n } else {\n onFinished();\n }\n });\n\n\n\n\n\n // Parse url\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined);\n const protocol = parsed.protocol || supportedProtocols[0];\n\n if (protocol === 'data:') {\n // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set.\n if (config.maxContentLength > -1) {\n // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed.\n const dataUrl = String(config.url || fullPath || '');\n const estimated = estimateDataURLDecodedBytes(dataUrl);\n\n if (estimated > config.maxContentLength) {\n return reject(new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config\n ));\n }\n }\n\n let convertedData;\n\n if (method !== 'GET') {\n return settle(resolve, reject, {\n status: 405,\n statusText: 'method not allowed',\n headers: {},\n config\n });\n }\n\n try {\n convertedData = fromDataURI(config.url, responseType === 'blob', {\n Blob: config.env && config.env.Blob\n });\n } catch (err) {\n throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);\n }\n\n if (responseType === 'text') {\n convertedData = convertedData.toString(responseEncoding);\n\n if (!responseEncoding || responseEncoding === 'utf8') {\n convertedData = utils.stripBOM(convertedData);\n }\n } else if (responseType === 'stream') {\n convertedData = stream.Readable.from(convertedData);\n }\n\n return settle(resolve, reject, {\n data: convertedData,\n status: 200,\n statusText: 'OK',\n headers: new AxiosHeaders(),\n config\n });\n }\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n const headers = AxiosHeaders.from(config.headers).normalize();\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n // User-Agent is specified; handle case where no UA header is desired\n // Only set header if it hasn't been set in config\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const {onUploadProgress, onDownloadProgress} = config;\n const maxRate = config.maxRate;\n let maxUploadRate = undefined;\n let maxDownloadRate = undefined;\n\n // support for spec compliant FormData objects\n if (utils.isSpecCompliantForm(data)) {\n const userBoundary = headers.getContentType(/boundary=([-_\\w\\d]{10,70})/i);\n\n data = formDataToStream(data, (formHeaders) => {\n headers.set(formHeaders);\n }, {\n tag: `axios-${VERSION}-boundary`,\n boundary: userBoundary && userBoundary[1] || undefined\n });\n // support for https://www.npmjs.com/package/form-data api\n } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n headers.set(data.getHeaders());\n\n if (!headers.hasContentLength()) {\n try {\n const knownLength = await util.promisify(data.getLength).call(data);\n Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);\n /*eslint no-empty:0*/\n } catch (e) {\n }\n }\n } else if (utils.isBlob(data) || utils.isFile(data)) {\n data.size && headers.setContentType(data.type || 'application/octet-stream');\n headers.setContentLength(data.size || 0);\n data = stream.Readable.from(readBlob(data));\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers.setContentLength(data.length, false);\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n }\n\n const contentLength = utils.toFiniteNumber(headers.getContentLength());\n\n if (utils.isArray(maxRate)) {\n maxUploadRate = maxRate[0];\n maxDownloadRate = maxRate[1];\n } else {\n maxUploadRate = maxDownloadRate = maxRate;\n }\n\n if (data && (onUploadProgress || maxUploadRate)) {\n if (!utils.isStream(data)) {\n data = stream.Readable.from(data, {objectMode: false});\n }\n\n data = stream.pipeline([data, new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxUploadRate)\n })], utils.noop);\n\n onUploadProgress && data.on('progress', flushOnFinish(\n data,\n progressEventDecorator(\n contentLength,\n progressEventReducer(asyncDecorator(onUploadProgress), false, 3)\n )\n ));\n }\n\n // HTTP basic authentication\n let auth = undefined;\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n if (!auth && parsed.username) {\n const urlUsername = parsed.username;\n const urlPassword = parsed.password;\n auth = urlUsername + ':' + urlPassword;\n }\n\n auth && headers.delete('authorization');\n\n let path;\n\n try {\n path = buildURL(\n parsed.pathname + parsed.search,\n config.params,\n config.paramsSerializer\n ).replace(/^\\?/, '');\n } catch (err) {\n const customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n return reject(customErr);\n }\n\n headers.set(\n 'Accept-Encoding',\n 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false\n );\n\n const options = {\n path,\n method: method,\n headers: headers.toJSON(),\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth,\n protocol,\n family,\n beforeRedirect: dispatchBeforeRedirect,\n beforeRedirects: {},\n http2Options\n };\n\n // cacheable-lookup integration hotfix\n !utils.isUndefined(lookup) && (options.lookup = lookup);\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname.startsWith(\"[\") ? parsed.hostname.slice(1, -1) : parsed.hostname;\n options.port = parsed.port;\n setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n let transport;\n const isHttpsRequest = isHttps.test(options.protocol);\n options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n if (isHttp2) {\n transport = http2Transport;\n } else {\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsRequest ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirects.config = config.beforeRedirect;\n }\n transport = isHttpsRequest ? httpsFollow : httpFollow;\n }\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n } else {\n // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited\n options.maxBodyLength = Infinity;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n req = transport.request(options, function handleResponse(res) {\n if (req.destroyed) return;\n\n const streams = [res];\n\n const responseLength = utils.toFiniteNumber(res.headers['content-length']);\n\n if (onDownloadProgress || maxDownloadRate) {\n const transformStream = new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxDownloadRate)\n });\n\n onDownloadProgress && transformStream.on('progress', flushOnFinish(\n transformStream,\n progressEventDecorator(\n responseLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true, 3)\n )\n ));\n\n streams.push(transformStream);\n }\n\n // decompress the response body transparently if required\n let responseStream = res;\n\n // return the last request in case of redirects\n const lastRequest = res.req || req;\n\n // if decompress disabled we should not decompress\n if (config.decompress !== false && res.headers['content-encoding']) {\n // if no content, but headers still say that it is encoded,\n // remove the header not confuse downstream operations\n if (method === 'HEAD' || res.statusCode === 204) {\n delete res.headers['content-encoding'];\n }\n\n switch ((res.headers['content-encoding'] || '').toLowerCase()) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'x-gzip':\n case 'compress':\n case 'x-compress':\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'deflate':\n streams.push(new ZlibHeaderTransformStream());\n\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'br':\n if (isBrotliSupported) {\n streams.push(zlib.createBrotliDecompress(brotliOptions));\n delete res.headers['content-encoding'];\n }\n }\n }\n\n responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0];\n\n\n\n const response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: new AxiosHeaders(res.headers),\n config,\n request: lastRequest\n };\n\n if (responseType === 'stream') {\n response.data = responseStream;\n settle(resolve, reject, response);\n } else {\n const responseBuffer = [];\n let totalResponseBytes = 0;\n\n responseStream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destroy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n responseStream.destroy();\n abort(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n responseStream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n\n const err = new AxiosError(\n 'stream has been aborted',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n );\n responseStream.destroy(err);\n reject(err);\n });\n\n responseStream.on('error', function handleStreamError(err) {\n if (req.destroyed) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n responseStream.on('end', function handleStreamEnd() {\n try {\n let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (responseType !== 'arraybuffer') {\n responseData = responseData.toString(responseEncoding);\n if (!responseEncoding || responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n return reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n\n abortEmitter.once('abort', err => {\n if (!responseStream.destroyed) {\n responseStream.emit('error', err);\n responseStream.destroy();\n }\n });\n });\n\n abortEmitter.once('abort', err => {\n if (req.close) {\n req.close();\n } else {\n req.destroy(err);\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n const timeout = parseInt(config.timeout, 10);\n\n if (Number.isNaN(timeout)) {\n abort(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devouring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n if (isDone) return;\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n abort(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n });\n } else {\n // explicitly reset the socket timeout value for a possible `keep-alive` request\n req.setTimeout(0);\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n let ended = false;\n let errored = false;\n\n data.on('end', () => {\n ended = true;\n });\n\n data.once('error', err => {\n errored = true;\n req.destroy(err);\n });\n\n data.on('close', () => {\n if (!ended && !errored) {\n abort(new CanceledError('Request stream has been aborted', config, req));\n }\n });\n\n data.pipe(req);\n } else {\n data && req.write(data);\n req.end();\n }\n });\n}\n\nexport const __setProxy = setProxy;\n","export const VERSION = \"1.13.2\";","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport parseProtocol from './parseProtocol.js';\nimport platform from '../platform/index.js';\n\nconst DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\\s\\S]*)$/;\n\n/**\n * Parse data uri to a Buffer or Blob\n *\n * @param {String} uri\n * @param {?Boolean} asBlob\n * @param {?Object} options\n * @param {?Function} options.Blob\n *\n * @returns {Buffer|Blob}\n */\nexport default function fromDataURI(uri, asBlob, options) {\n const _Blob = options && options.Blob || platform.classes.Blob;\n const protocol = parseProtocol(uri);\n\n if (asBlob === undefined && _Blob) {\n asBlob = true;\n }\n\n if (protocol === 'data') {\n uri = protocol.length ? uri.slice(protocol.length + 1) : uri;\n\n const match = DATA_URL_PATTERN.exec(uri);\n\n if (!match) {\n throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);\n }\n\n const mime = match[1];\n const isBase64 = match[2];\n const body = match[3];\n const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');\n\n if (asBlob) {\n if (!_Blob) {\n throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return new _Blob([buffer], {type: mime});\n }\n\n return buffer;\n }\n\n throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);\n}\n","'use strict';\n\nimport stream from 'stream';\nimport utils from '../utils.js';\n\nconst kInternals = Symbol('internals');\n\nclass AxiosTransformStream extends stream.Transform{\n constructor(options) {\n options = utils.toFlatObject(options, {\n maxRate: 0,\n chunkSize: 64 * 1024,\n minChunkSize: 100,\n timeWindow: 500,\n ticksRate: 2,\n samplesCount: 15\n }, null, (prop, source) => {\n return !utils.isUndefined(source[prop]);\n });\n\n super({\n readableHighWaterMark: options.chunkSize\n });\n\n const internals = this[kInternals] = {\n timeWindow: options.timeWindow,\n chunkSize: options.chunkSize,\n maxRate: options.maxRate,\n minChunkSize: options.minChunkSize,\n bytesSeen: 0,\n isCaptured: false,\n notifiedBytesLoaded: 0,\n ts: Date.now(),\n bytes: 0,\n onReadCallback: null\n };\n\n this.on('newListener', event => {\n if (event === 'progress') {\n if (!internals.isCaptured) {\n internals.isCaptured = true;\n }\n }\n });\n }\n\n _read(size) {\n const internals = this[kInternals];\n\n if (internals.onReadCallback) {\n internals.onReadCallback();\n }\n\n return super._read(size);\n }\n\n _transform(chunk, encoding, callback) {\n const internals = this[kInternals];\n const maxRate = internals.maxRate;\n\n const readableHighWaterMark = this.readableHighWaterMark;\n\n const timeWindow = internals.timeWindow;\n\n const divider = 1000 / timeWindow;\n const bytesThreshold = (maxRate / divider);\n const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;\n\n const pushChunk = (_chunk, _callback) => {\n const bytes = Buffer.byteLength(_chunk);\n internals.bytesSeen += bytes;\n internals.bytes += bytes;\n\n internals.isCaptured && this.emit('progress', internals.bytesSeen);\n\n if (this.push(_chunk)) {\n process.nextTick(_callback);\n } else {\n internals.onReadCallback = () => {\n internals.onReadCallback = null;\n process.nextTick(_callback);\n };\n }\n }\n\n const transformChunk = (_chunk, _callback) => {\n const chunkSize = Buffer.byteLength(_chunk);\n let chunkRemainder = null;\n let maxChunkSize = readableHighWaterMark;\n let bytesLeft;\n let passed = 0;\n\n if (maxRate) {\n const now = Date.now();\n\n if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) {\n internals.ts = now;\n bytesLeft = bytesThreshold - internals.bytes;\n internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;\n passed = 0;\n }\n\n bytesLeft = bytesThreshold - internals.bytes;\n }\n\n if (maxRate) {\n if (bytesLeft <= 0) {\n // next time window\n return setTimeout(() => {\n _callback(null, _chunk);\n }, timeWindow - passed);\n }\n\n if (bytesLeft < maxChunkSize) {\n maxChunkSize = bytesLeft;\n }\n }\n\n if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) {\n chunkRemainder = _chunk.subarray(maxChunkSize);\n _chunk = _chunk.subarray(0, maxChunkSize);\n }\n\n pushChunk(_chunk, chunkRemainder ? () => {\n process.nextTick(_callback, null, chunkRemainder);\n } : _callback);\n };\n\n transformChunk(chunk, function transformNextChunk(err, _chunk) {\n if (err) {\n return callback(err);\n }\n\n if (_chunk) {\n transformChunk(_chunk, transformNextChunk);\n } else {\n callback(null);\n }\n });\n }\n}\n\nexport default AxiosTransformStream;\n","const {asyncIterator} = Symbol;\n\nconst readBlob = async function* (blob) {\n if (blob.stream) {\n yield* blob.stream()\n } else if (blob.arrayBuffer) {\n yield await blob.arrayBuffer()\n } else if (blob[asyncIterator]) {\n yield* blob[asyncIterator]();\n } else {\n yield blob;\n }\n}\n\nexport default readBlob;\n","import util from 'util';\nimport {Readable} from 'stream';\nimport utils from \"../utils.js\";\nimport readBlob from \"./readBlob.js\";\nimport platform from \"../platform/index.js\";\n\nconst BOUNDARY_ALPHABET = platform.ALPHABET.ALPHA_DIGIT + '-_';\n\nconst textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util.TextEncoder();\n\nconst CRLF = '\\r\\n';\nconst CRLF_BYTES = textEncoder.encode(CRLF);\nconst CRLF_BYTES_COUNT = 2;\n\nclass FormDataPart {\n constructor(name, value) {\n const {escapeName} = this.constructor;\n const isStringValue = utils.isString(value);\n\n let headers = `Content-Disposition: form-data; name=\"${escapeName(name)}\"${\n !isStringValue && value.name ? `; filename=\"${escapeName(value.name)}\"` : ''\n }${CRLF}`;\n\n if (isStringValue) {\n value = textEncoder.encode(String(value).replace(/\\r?\\n|\\r\\n?/g, CRLF));\n } else {\n headers += `Content-Type: ${value.type || \"application/octet-stream\"}${CRLF}`\n }\n\n this.headers = textEncoder.encode(headers + CRLF);\n\n this.contentLength = isStringValue ? value.byteLength : value.size;\n\n this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;\n\n this.name = name;\n this.value = value;\n }\n\n async *encode(){\n yield this.headers;\n\n const {value} = this;\n\n if(utils.isTypedArray(value)) {\n yield value;\n } else {\n yield* readBlob(value);\n }\n\n yield CRLF_BYTES;\n }\n\n static escapeName(name) {\n return String(name).replace(/[\\r\\n\"]/g, (match) => ({\n '\\r' : '%0D',\n '\\n' : '%0A',\n '\"' : '%22',\n }[match]));\n }\n}\n\nconst formDataToStream = (form, headersHandler, options) => {\n const {\n tag = 'form-data-boundary',\n size = 25,\n boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET)\n } = options || {};\n\n if(!utils.isFormData(form)) {\n throw TypeError('FormData instance required');\n }\n\n if (boundary.length < 1 || boundary.length > 70) {\n throw Error('boundary must be 10-70 characters long')\n }\n\n const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);\n const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF);\n let contentLength = footerBytes.byteLength;\n\n const parts = Array.from(form.entries()).map(([name, value]) => {\n const part = new FormDataPart(name, value);\n contentLength += part.size;\n return part;\n });\n\n contentLength += boundaryBytes.byteLength * parts.length;\n\n contentLength = utils.toFiniteNumber(contentLength);\n\n const computedHeaders = {\n 'Content-Type': `multipart/form-data; boundary=${boundary}`\n }\n\n if (Number.isFinite(contentLength)) {\n computedHeaders['Content-Length'] = contentLength;\n }\n\n headersHandler && headersHandler(computedHeaders);\n\n return Readable.from((async function *() {\n for(const part of parts) {\n yield boundaryBytes;\n yield* part.encode();\n }\n\n yield footerBytes;\n })());\n};\n\nexport default formDataToStream;\n","\"use strict\";\n\nimport stream from \"stream\";\n\nclass ZlibHeaderTransformStream extends stream.Transform {\n __transform(chunk, encoding, callback) {\n this.push(chunk);\n callback();\n }\n\n _transform(chunk, encoding, callback) {\n if (chunk.length !== 0) {\n this._transform = this.__transform;\n\n // Add Default Compression headers if no zlib headers are present\n if (chunk[0] !== 120) { // Hex: 78\n const header = Buffer.alloc(2);\n header[0] = 120; // Hex: 78\n header[1] = 156; // Hex: 9C \n this.push(header, encoding);\n }\n }\n\n this.__transform(chunk, encoding, callback);\n }\n}\n\nexport default ZlibHeaderTransformStream;\n","import utils from \"../utils.js\";\n\nconst callbackify = (fn, reducer) => {\n return utils.isAsyncFn(fn) ? function (...args) {\n const cb = args.pop();\n fn.apply(this, args).then((value) => {\n try {\n reducer ? cb(null, ...reducer(value)) : cb(null, value);\n } catch (err) {\n cb(err);\n }\n }, cb);\n } : fn;\n}\n\nexport default callbackify;\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","/**\n * Estimate decoded byte length of a data:// URL *without* allocating large buffers.\n * - For base64: compute exact decoded size using length and padding;\n * handle %XX at the character-count level (no string allocation).\n * - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound.\n *\n * @param {string} url\n * @returns {number}\n */\nexport default function estimateDataURLDecodedBytes(url) {\n if (!url || typeof url !== 'string') return 0;\n if (!url.startsWith('data:')) return 0;\n\n const comma = url.indexOf(',');\n if (comma < 0) return 0;\n\n const meta = url.slice(5, comma);\n const body = url.slice(comma + 1);\n const isBase64 = /;base64/i.test(meta);\n\n if (isBase64) {\n let effectiveLen = body.length;\n const len = body.length; // cache length\n\n for (let i = 0; i < len; i++) {\n if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {\n const a = body.charCodeAt(i + 1);\n const b = body.charCodeAt(i + 2);\n const isHex =\n ((a >= 48 && a <= 57) || (a >= 65 && a <= 70) || (a >= 97 && a <= 102)) &&\n ((b >= 48 && b <= 57) || (b >= 65 && b <= 70) || (b >= 97 && b <= 102));\n\n if (isHex) {\n effectiveLen -= 2;\n i += 2;\n }\n }\n }\n\n let pad = 0;\n let idx = len - 1;\n\n const tailIsPct3D = (j) =>\n j >= 2 &&\n body.charCodeAt(j - 2) === 37 && // '%'\n body.charCodeAt(j - 1) === 51 && // '3'\n (body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd'\n\n if (idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n idx--;\n } else if (tailIsPct3D(idx)) {\n pad++;\n idx -= 3;\n }\n }\n\n if (pad === 1 && idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n } else if (tailIsPct3D(idx)) {\n pad++;\n }\n }\n\n const groups = Math.floor(effectiveLen / 4);\n const bytes = groups * 3 - (pad || 0);\n return bytes > 0 ? bytes : 0;\n }\n\n return Buffer.byteLength(body, 'utf8');\n}\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n * \n * @type {Object<string, Function|Object>}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n * \n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n * \n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n * \n * @param {Array<string|Function>|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object<string, Function|Object>}\n */\n adapters: knownAdapters\n};\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import axios from './lib/axios.js';\n\n// This module is intended to unwrap Axios default export as named.\n// Keep top-level export same with static properties\n// so that it can keep same with es module or cjs\nconst {\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n} = axios;\n\nexport {\n axios as default,\n Axios,\n AxiosError,\n CanceledError,\n isCancel,\n CancelToken,\n VERSION,\n all,\n Cancel,\n isAxiosError,\n spread,\n toFormData,\n AxiosHeaders,\n HttpStatusCode,\n formToJSON,\n getAdapter,\n mergeConfig\n}\n","import axios, { AxiosInstance, AxiosResponse } from 'axios';\nimport type {\n AppSummary,\n VersionInfo,\n AppManifest,\n DeveloperProfile,\n Attestation,\n ApiError,\n ClientConfig,\n} from './types';\n\n/**\n * SSApp Registry Client\n *\n * A TypeScript client for interacting with the SSApp (Smart Contract Application) Registry API.\n * Provides type-safe methods for managing applications, developers, and attestations.\n *\n * @example\n * ```typescript\n * import { SSAppRegistryClient } from '@calimero-network/registry-client';\n *\n * const client = new SSAppRegistryClient({\n * baseURL: 'https://api.calimero.network',\n * timeout: 10000,\n * });\n *\n * // Get all applications\n * const apps = await client.getApps();\n *\n * // Get specific application versions\n * const versions = await client.getAppVersions('developer-pubkey', 'app-name');\n * ```\n */\nexport class SSAppRegistryClient {\n private api: AxiosInstance;\n\n /**\n * Creates a new SSApp Registry client instance.\n *\n * @param config - Configuration options for the client\n * @param config.baseURL - Base URL for the API (default: 'http://localhost:8082')\n * @param config.timeout - Request timeout in milliseconds (default: 10000)\n * @param config.headers - Additional headers to include in requests\n *\n * @example\n * ```typescript\n * // Basic configuration\n * const client = new SSAppRegistryClient();\n *\n * // Custom configuration\n * const client = new SSAppRegistryClient({\n * baseURL: 'https://api.calimero.network',\n * timeout: 30000,\n * headers: {\n * 'Authorization': 'Bearer token',\n * },\n * });\n * ```\n */\n constructor(config: ClientConfig = {}) {\n this.api = axios.create({\n baseURL: config.baseURL || 'http://localhost:8082',\n timeout: config.timeout || 10000,\n headers: {\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n });\n\n // Error interceptor\n this.api.interceptors.response.use(\n (response: AxiosResponse) => response,\n error => {\n const apiError: ApiError = {\n message: error.response?.data?.message || error.message,\n code: error.response?.data?.code,\n details: error.response?.data?.details,\n };\n return Promise.reject(apiError);\n }\n );\n }\n\n /**\n * Retrieves a list of all applications with optional filtering.\n *\n * @param params - Optional filtering parameters\n * @param params.dev - Filter by developer public key\n * @param params.name - Filter by application name (partial match)\n * @returns Promise resolving to an array of application summaries\n *\n * @example\n * ```typescript\n * // Get all applications\n * const allApps = await client.getApps();\n *\n * // Filter by developer\n * const devApps = await client.getApps({ dev: 'ed25519:abc123...' });\n *\n * // Filter by name\n * const walletApps = await client.getApps({ name: 'wallet' });\n *\n * // Filter by both\n * const filteredApps = await client.getApps({\n * dev: 'ed25519:abc123...',\n * name: 'wallet'\n * });\n * ```\n *\n * @throws {ApiError} When the API request fails\n */\n async getApps(params?: {\n dev?: string;\n name?: string;\n }): Promise<AppSummary[]> {\n const response = await this.api.get('/apps', { params });\n return response.data;\n }\n\n /**\n * Retrieves all versions of a specific application.\n *\n * @param pubkey - Developer's public key (Ed25519 format)\n * @param appName - Name of the application\n * @returns Promise resolving to an array of version information\n *\n * @example\n * ```typescript\n * const versions = await client.getAppVersions(\n * 'ed25519:abc123...',\n * 'my-wallet-app'\n * );\n *\n * versions.forEach(version => {\n * console.log(`Version ${version.semver}: ${version.cid}`);\n * if (version.yanked) {\n * console.log(' ⚠️ This version has been yanked');\n * }\n * });\n * ```\n *\n * @throws {ApiError} When the application is not found or request fails\n */\n async getAppVersions(appId: string): Promise<VersionInfo[]> {\n const response = await this.api.get(`/apps/${appId}`);\n return response.data;\n }\n\n /**\n * Retrieves the complete manifest for a specific application version.\n *\n * @param appId - Unique application identifier\n * @param semver - Semantic version (e.g., '1.0.0', '2.1.3')\n * @returns Promise resolving to the application manifest\n *\n * @example\n * ```typescript\n * const manifest = await client.getAppManifest('my-wallet-app', '1.2.0');\n *\n * console.log(`App: ${manifest.app.name}`);\n * console.log(`Version: ${manifest.version.semver}`);\n * console.log(`Supported chains: ${manifest.supported_chains.join(', ')}`);\n *\n * // Check permissions\n * manifest.permissions.forEach(perm => {\n * console.log(`Permission: ${perm.cap} (${perm.bytes} bytes)`);\n * });\n *\n * // List artifacts\n * manifest.artifacts.forEach(artifact => {\n * console.log(`Artifact: ${artifact.type} -> ${artifact.cid}`);\n * });\n * ```\n *\n * @throws {ApiError} When the manifest is not found or request fails\n */\n async getAppManifest(appId: string, semver: string): Promise<AppManifest> {\n const response = await this.api.get(`/apps/${appId}/${semver}`);\n return response.data;\n }\n\n /**\n * Retrieves developer profile information.\n *\n * @param pubkey - Developer's public key (Ed25519 format)\n * @returns Promise resolving to the developer profile\n *\n * @example\n * ```typescript\n * const profile = await client.getDeveloper('ed25519:abc123...');\n *\n * console.log(`Developer: ${profile.display_name}`);\n * if (profile.website) {\n * console.log(`Website: ${profile.website}`);\n * }\n *\n * // Check verification proofs\n * profile.proofs.forEach(proof => {\n * const status = proof.verified ? '✅' : '❌';\n * console.log(`${status} ${proof.type}: ${proof.value}`);\n * });\n * ```\n *\n * @throws {ApiError} When the developer is not found or request fails\n */\n async getDeveloper(pubkey: string): Promise<DeveloperProfile> {\n const response = await this.api.get(`/developers/${pubkey}`);\n return response.data;\n }\n\n /**\n * Retrieves attestation information for a specific application version.\n *\n * @param pubkey - Developer's public key (Ed25519 format)\n * @param appName - Name of the application\n * @param semver - Semantic version (e.g., '1.0.0', '2.1.3')\n * @returns Promise resolving to the attestation information\n *\n * @example\n * ```typescript\n * const attestation = await client.getAttestation(\n * 'ed25519:abc123...',\n * 'my-wallet-app',\n * '1.2.0'\n * );\n *\n * console.log(`Status: ${attestation.status}`);\n * console.log(`Timestamp: ${attestation.timestamp}`);\n * if (attestation.comment) {\n * console.log(`Comment: ${attestation.comment}`);\n * }\n *\n * // Check status\n * switch (attestation.status) {\n * case 'ok':\n * console.log('✅ Application is verified and safe');\n * break;\n * case 'yanked':\n * console.log('⚠️ Application has been yanked');\n * break;\n * case 'tested':\n * console.log('🧪 Application is in testing phase');\n * break;\n * }\n * ```\n *\n * @throws {ApiError} When the attestation is not found or request fails\n */\n async getAttestation(\n pubkey: string,\n appName: string,\n semver: string\n ): Promise<Attestation> {\n const response = await this.api.get(\n `/attestations/${pubkey}/${appName}/${semver}`\n );\n return response.data;\n }\n\n /**\n * Submits a new application manifest to the registry.\n *\n * @param manifest - Complete application manifest with signature\n * @returns Promise resolving to submission result\n *\n * @example\n * ```typescript\n * const manifest: AppManifest = {\n * manifest_version: '1.0.0',\n * app: {\n * name: 'my-wallet-app',\n * developer_pubkey: 'ed25519:abc123...',\n * id: 'unique-app-id',\n * alias: 'My Wallet',\n * },\n * version: {\n * semver: '1.0.0',\n * },\n * supported_chains: ['mainnet', 'testnet'],\n * permissions: [\n * { cap: 'wallet', bytes: 1024 },\n * { cap: 'network', bytes: 512 },\n * ],\n * artifacts: [\n * {\n * type: 'wasm',\n * target: 'browser',\n * cid: 'QmHash...',\n * size: 1024000,\n * },\n * ],\n * metadata: {\n * description: 'A secure wallet application',\n * author: 'John Doe',\n * },\n * distribution: 'ipfs',\n * signature: {\n * alg: 'ed25519',\n * sig: 'signature...',\n * signed_at: '2024-01-01T00:00:00Z',\n * },\n * };\n *\n * const result = await client.submitAppManifest(manifest);\n *\n * if (result.success) {\n * console.log('✅ Manifest submitted successfully');\n * console.log(result.message);\n * } else {\n * console.log('❌ Submission failed');\n * console.log(result.message);\n * }\n * ```\n *\n * @throws {ApiError} When the submission fails (validation errors, etc.)\n */\n async submitAppManifest(\n manifest: AppManifest\n ): Promise<{ success: boolean; message: string }> {\n const response = await this.api.post('/apps', manifest);\n return response.data;\n }\n\n /**\n * Submits or updates developer profile information.\n *\n * @param pubkey - Developer's public key (Ed25519 format)\n * @param profile - Developer profile information\n * @returns Promise resolving to submission result\n *\n * @example\n * ```typescript\n * const profile: DeveloperProfile = {\n * display_name: 'John Doe',\n * website: 'https://johndoe.dev',\n * proofs: [\n * {\n * type: 'github',\n * value: 'johndoe',\n * verified: true,\n * },\n * {\n * type: 'twitter',\n * value: '@johndoe',\n * verified: false,\n * },\n * ],\n * };\n *\n * const result = await client.submitDeveloperProfile(\n * 'ed25519:abc123...',\n * profile\n * );\n *\n * if (result.success) {\n * console.log('✅ Profile submitted successfully');\n * } else {\n * console.log('❌ Submission failed:', result.message);\n * }\n * ```\n *\n * @throws {ApiError} When the submission fails (validation errors, etc.)\n */\n async submitDeveloperProfile(\n pubkey: string,\n profile: DeveloperProfile\n ): Promise<{ success: boolean; message: string }> {\n const response = await this.api.post('/developers', {\n pubkey,\n ...profile,\n });\n return response.data;\n }\n\n /**\n * Submits an attestation for a specific application version.\n *\n * @param pubkey - Developer's public key (Ed25519 format)\n * @param appName - Name of the application\n * @param semver - Semantic version (e.g., '1.0.0', '2.1.3')\n * @param attestation - Attestation information\n * @returns Promise resolving to submission result\n *\n * @example\n * ```typescript\n * const attestation: Attestation = {\n * status: 'ok',\n * comment: 'Passed security audit and functionality testing',\n * timestamp: new Date().toISOString(),\n * };\n *\n * const result = await client.submitAttestation(\n * 'ed25519:abc123...',\n * 'my-wallet-app',\n * '1.2.0',\n * attestation\n * );\n *\n * if (result.success) {\n * console.log('✅ Attestation submitted successfully');\n * } else {\n * console.log('❌ Submission failed:', result.message);\n * }\n * ```\n *\n * @throws {ApiError} When the submission fails (validation errors, etc.)\n */\n async submitAttestation(\n pubkey: string,\n appName: string,\n semver: string,\n attestation: Attestation\n ): Promise<{ success: boolean; message: string }> {\n const response = await this.api.post(\n `/attestations/${pubkey}/${appName}/${semver}`,\n attestation\n );\n return response.data;\n }\n\n /**\n * Checks if the API is healthy and responding.\n *\n * @returns Promise resolving to health status\n *\n * @example\n * ```typescript\n * try {\n * const health = await client.healthCheck();\n * console.log(`API Status: ${health.status}`);\n *\n * if (health.status === 'ok') {\n * console.log('✅ API is healthy');\n * } else {\n * console.log('⚠️ API has issues');\n * }\n * } catch (error) {\n * console.log('❌ API is not responding');\n * }\n * ```\n *\n * @throws {ApiError} When the API is not responding\n */\n async healthCheck(): Promise<{ status: string }> {\n const response = await this.api.get('/healthz');\n return response.data;\n }\n}\n","import fs from 'fs';\nimport path from 'path';\nimport os from 'os';\n\nexport interface LocalConfigData {\n server: {\n port: number;\n host: string;\n publicHost: string;\n };\n data: {\n dir: string;\n artifactsDir: string;\n };\n artifacts: {\n storageDir: string;\n serveLocal: boolean;\n copyArtifacts: boolean;\n maxFileSize: string;\n allowedTypes: string[];\n };\n}\n\nexport class LocalConfig {\n private configPath: string;\n private dataDir: string;\n private config: LocalConfigData;\n\n constructor() {\n this.configPath = path.join(\n os.homedir(),\n '.calimero-registry',\n 'config.json'\n );\n this.dataDir = path.join(os.homedir(), '.calimero-registry');\n this.config = this.loadConfig();\n }\n\n private loadConfig(): LocalConfigData {\n // Create default config\n const defaultConfig: LocalConfigData = {\n server: {\n port: 8082,\n host: '0.0.0.0',\n publicHost: 'host.docker.internal',\n },\n data: {\n dir: path.join(os.homedir(), '.calimero-registry', 'data'),\n artifactsDir: path.join(\n os.homedir(),\n '.calimero-registry',\n 'artifacts'\n ),\n },\n artifacts: {\n storageDir: path.join(os.homedir(), '.calimero-registry', 'artifacts'),\n serveLocal: true,\n copyArtifacts: true,\n maxFileSize: '100MB',\n allowedTypes: ['wasm', 'js', 'html'],\n },\n };\n\n // Load existing config if it exists\n if (fs.existsSync(this.configPath)) {\n try {\n const existingConfig = JSON.parse(\n fs.readFileSync(this.configPath, 'utf8')\n );\n return {\n server: {\n ...defaultConfig.server,\n ...(existingConfig.server || {}),\n },\n data: {\n ...defaultConfig.data,\n ...(existingConfig.data || {}),\n },\n artifacts: {\n ...defaultConfig.artifacts,\n ...(existingConfig.artifacts || {}),\n },\n };\n } catch {\n console.warn('Failed to load existing config, using defaults');\n }\n }\n\n return defaultConfig;\n }\n\n private saveConfig(): void {\n // Ensure config directory exists\n const configDir = path.dirname(this.configPath);\n if (!fs.existsSync(configDir)) {\n fs.mkdirSync(configDir, { recursive: true });\n }\n\n // Save config\n fs.writeFileSync(this.configPath, JSON.stringify(this.config, null, 2));\n }\n\n // Server configuration\n getPort(): number {\n return this.config.server.port;\n }\n\n setPort(port: number): void {\n this.config.server.port = port;\n this.saveConfig();\n }\n\n getHost(): string {\n return this.config.server.host;\n }\n\n setHost(host: string): void {\n this.config.server.host = host;\n this.saveConfig();\n }\n\n getPublicHost(): string {\n return this.config.server.publicHost;\n }\n\n setPublicHost(host: string): void {\n this.config.server.publicHost = host;\n this.saveConfig();\n }\n\n // Data directory configuration\n getDataDir(): string {\n return this.config.data.dir;\n }\n\n setDataDir(dir: string): void {\n this.config.data.dir = dir;\n this.config.artifacts.storageDir = path.join(dir, 'artifacts');\n this.saveConfig();\n }\n\n getArtifactsDir(): string {\n return this.config.data.artifactsDir;\n }\n\n setArtifactsDir(dir: string): void {\n this.config.data.artifactsDir = dir;\n this.config.artifacts.storageDir = dir;\n this.saveConfig();\n }\n\n // Artifact configuration\n getArtifactsConfig() {\n return this.config.artifacts;\n }\n\n setArtifactsConfig(config: Partial<LocalConfigData['artifacts']>): void {\n this.config.artifacts = { ...this.config.artifacts, ...config };\n this.saveConfig();\n }\n\n // Utility methods\n ensureDirectories(): void {\n const dirs = [\n this.getDataDir(),\n this.getArtifactsDir(),\n path.join(this.getDataDir(), 'backups'),\n path.join(this.getDataDir(), 'logs'),\n ];\n\n dirs.forEach(dir => {\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true });\n }\n });\n }\n\n getConfigPath(): string {\n return this.configPath;\n }\n\n // Get full configuration\n getConfig(): LocalConfigData {\n return { ...this.config };\n }\n\n // Reset to defaults\n reset(): void {\n this.config = {\n server: {\n port: 8082,\n host: 'localhost',\n },\n data: {\n dir: path.join(os.homedir(), '.calimero-registry', 'data'),\n artifactsDir: path.join(\n os.homedir(),\n '.calimero-registry',\n 'artifacts'\n ),\n },\n artifacts: {\n storageDir: path.join(os.homedir(), '.calimero-registry', 'artifacts'),\n serveLocal: true,\n copyArtifacts: true,\n maxFileSize: '100MB',\n allowedTypes: ['wasm', 'js', 'html'],\n },\n };\n this.saveConfig();\n }\n}\n","import fs from 'fs';\nimport path from 'path';\nimport { LocalConfig } from './local-config.js';\n\nexport interface AppSummary {\n id: string;\n name: string;\n latest_version: string;\n latest_digest: string;\n developer_pubkey?: string;\n alias?: string;\n}\n\nexport interface VersionInfo {\n semver: string;\n digest: string;\n cid: string; // Added for compatibility\n yanked: boolean;\n}\n\n// --- V2 / Bundle Manifest Support ---\n\nexport interface BundleArtifact {\n path: string;\n hash: string | null;\n size: number;\n}\n\nexport interface BundleMetadata {\n name: string;\n description?: string;\n icon?: string;\n tags?: string[];\n license?: string;\n}\n\nexport interface BundleInterfaces {\n exports?: string[];\n uses?: string[];\n}\n\nexport interface BundleLinks {\n frontend?: string;\n github?: string;\n docs?: string;\n}\n\nexport interface BundleSignature {\n alg: string;\n sig: string;\n pubkey: string;\n signed_at: string;\n}\n\nexport interface BundleManifest {\n version: string; // \"1.0\" (internal manifest version)\n package: string;\n appVersion: string;\n\n metadata?: BundleMetadata;\n interfaces?: BundleInterfaces;\n\n wasm?: BundleArtifact;\n abi?: BundleArtifact;\n migrations: BundleArtifact[];\n\n links?: BundleLinks;\n signature?: BundleSignature;\n}\n\nexport interface LocalRegistryData {\n apps: Map<string, AppSummary>;\n bundleManifests: Map<string, BundleManifest>; // Key: \"package/version\"\n artifacts: Map<string, string>; // digest -> file path\n}\n\nexport class LocalDataStore {\n private config: LocalConfig;\n private data: LocalRegistryData;\n private appsFile: string;\n private bundleManifestsFile: string;\n private artifactsFile: string;\n\n constructor(config: LocalConfig) {\n this.config = config;\n this.appsFile = path.join(config.getDataDir(), 'apps.json');\n this.bundleManifestsFile = path.join(\n config.getDataDir(),\n 'bundle_manifests.json'\n );\n this.artifactsFile = path.join(config.getDataDir(), 'artifacts.json');\n this.data = {\n apps: new Map(),\n bundleManifests: new Map(),\n artifacts: new Map(),\n };\n this.loadData();\n }\n\n private loadData(): void {\n try {\n // Load apps\n if (fs.existsSync(this.appsFile)) {\n const appsData = JSON.parse(fs.readFileSync(this.appsFile, 'utf8'));\n this.data.apps = new Map(Object.entries(appsData));\n }\n\n // Load bundle manifests\n if (fs.existsSync(this.bundleManifestsFile)) {\n const bundleManifestsData = JSON.parse(\n fs.readFileSync(this.bundleManifestsFile, 'utf8')\n );\n this.data.bundleManifests = new Map(\n Object.entries(bundleManifestsData)\n );\n }\n\n // Load artifacts\n if (fs.existsSync(this.artifactsFile)) {\n const artifactsData = JSON.parse(\n fs.readFileSync(this.artifactsFile, 'utf8')\n );\n this.data.artifacts = new Map(Object.entries(artifactsData));\n }\n } catch {\n console.warn('Failed to load existing data, starting fresh');\n }\n }\n\n private saveData(): void {\n try {\n // Ensure data directory exists\n this.config.ensureDirectories();\n\n // Save apps\n const appsObj = Object.fromEntries(this.data.apps);\n fs.writeFileSync(this.appsFile, JSON.stringify(appsObj, null, 2));\n\n // Save bundle manifests\n const bundleManifestsObj = Object.fromEntries(this.data.bundleManifests);\n fs.writeFileSync(\n this.bundleManifestsFile,\n JSON.stringify(bundleManifestsObj, null, 2)\n );\n\n // Save artifacts\n const artifactsObj = Object.fromEntries(this.data.artifacts);\n fs.writeFileSync(\n this.artifactsFile,\n JSON.stringify(artifactsObj, null, 2)\n );\n } catch (error) {\n throw new Error(\n `Failed to save data: ${\n error instanceof Error ? error.message : 'Unknown error'\n }`\n );\n }\n }\n\n // Apps management\n getApps(filters?: { name?: string; dev?: string }): AppSummary[] {\n let apps = Array.from(this.data.apps.values());\n\n if (filters?.name) {\n apps = apps.filter(app => app.name.includes(filters.name!));\n }\n\n if (filters?.dev) {\n apps = apps.filter(app => app.developer_pubkey === filters.dev);\n }\n\n return apps;\n }\n\n getApp(appKey: string): AppSummary | undefined {\n return this.data.apps.get(appKey);\n }\n\n setApp(appKey: string, app: AppSummary): void {\n this.data.apps.set(appKey, app);\n this.saveData();\n }\n\n // Versions management (bundles only)\n getAppVersions(packageId: string): VersionInfo[] {\n const versions: VersionInfo[] = [];\n\n // Get bundle versions\n for (const [key, manifest] of this.data.bundleManifests.entries()) {\n if (key.startsWith(`${packageId}/`)) {\n const semver = key.split('/').pop()!;\n const digest = manifest.wasm?.hash || '';\n versions.push({\n semver,\n digest,\n cid: digest, // Compatibility\n yanked: false,\n });\n }\n }\n\n return versions.sort((a, b) =>\n a.semver.localeCompare(b.semver, undefined, { numeric: true })\n );\n }\n\n // Manifest management (V2 / Bundles)\n getBundleManifest(pkg: string, version: string): BundleManifest | undefined {\n const key = `${pkg}/${version}`;\n return this.data.bundleManifests.get(key);\n }\n\n setBundleManifest(\n pkg: string,\n version: string,\n manifest: BundleManifest\n ): void {\n const key = `${pkg}/${version}`;\n this.data.bundleManifests.set(key, manifest);\n this.saveData();\n }\n\n // Artifact management\n getArtifactPath(hash: string): string | undefined {\n return this.data.artifacts.get(hash);\n }\n\n setArtifactPath(hash: string, filePath: string): void {\n this.data.artifacts.set(hash, filePath);\n this.saveData();\n }\n\n // Statistics\n getStats() {\n return {\n publishedApps: this.data.apps.size,\n totalVersions: this.data.bundleManifests.size,\n totalArtifacts: this.data.artifacts.size,\n };\n }\n\n // Backup and restore\n async backup(outputPath?: string): Promise<string> {\n const timestamp = new Date().toISOString().replace(/[:.]/g, '-');\n const backupPath =\n outputPath ||\n path.join(\n this.config.getDataDir(),\n 'backups',\n `backup-${timestamp}.json`\n );\n\n // Ensure backup directory exists\n const backupDir = path.dirname(backupPath);\n if (!fs.existsSync(backupDir)) {\n fs.mkdirSync(backupDir, { recursive: true });\n }\n\n const backupData = {\n timestamp: new Date().toISOString(),\n apps: Object.fromEntries(this.data.apps),\n bundleManifests: Object.fromEntries(this.data.bundleManifests),\n artifacts: Object.fromEntries(this.data.artifacts),\n };\n\n fs.writeFileSync(backupPath, JSON.stringify(backupData, null, 2));\n return backupPath;\n }\n\n async restore(backupPath: string): Promise<void> {\n if (!fs.existsSync(backupPath)) {\n throw new Error(`Backup file not found: ${backupPath}`);\n }\n\n const backupData = JSON.parse(fs.readFileSync(backupPath, 'utf8'));\n\n // Restore data\n this.data.apps = new Map(Object.entries(backupData.apps || {}));\n this.data.bundleManifests = new Map(\n Object.entries(backupData.bundleManifests || {})\n );\n this.data.artifacts = new Map(Object.entries(backupData.artifacts || {}));\n\n this.saveData();\n }\n\n // Reset data\n reset(): void {\n this.data.apps.clear();\n this.data.bundleManifests.clear();\n this.data.artifacts.clear();\n this.saveData();\n }\n\n /**\n * Get all bundle manifests\n */\n getAllBundles(): BundleManifest[] {\n return Array.from(this.data.bundleManifests.values());\n }\n\n // Seed with sample data\n async seed(): Promise<void> {\n // V2 Sample Bundle\n const bundleManifest: BundleManifest = {\n version: '1.0',\n package: 'com.calimero.sample-bundle',\n appVersion: '1.0.0',\n metadata: {\n name: 'Sample Bundle App',\n description: 'A sample application using V2 Bundle Manifest',\n tags: ['sample', 'v2'],\n license: 'MIT',\n },\n interfaces: {\n exports: ['com.calimero.sample.v1'],\n uses: [],\n },\n links: {\n frontend: 'https://example.com/app',\n github: 'https://github.com/example/app',\n },\n wasm: {\n path: 'app.wasm',\n size: 1024,\n hash: null,\n },\n abi: {\n path: 'abi.json',\n size: 512,\n hash: null,\n },\n migrations: [],\n };\n\n this.setBundleManifest(\n bundleManifest.package,\n bundleManifest.appVersion,\n bundleManifest\n );\n }\n}\n","import fs from 'fs';\nimport path from 'path';\nimport crypto from 'crypto';\nimport { Buffer } from 'buffer';\nimport { LocalConfig } from './local-config.js';\nimport { LocalDataStore, V1Manifest } from './local-storage.js';\n\nexport class LocalArtifactServer {\n private config: LocalConfig;\n private dataStore: LocalDataStore;\n private artifactsDir: string;\n\n constructor(config: LocalConfig, dataStore: LocalDataStore) {\n this.config = config;\n this.dataStore = dataStore;\n this.artifactsDir = config.getArtifactsDir();\n this.ensureArtifactsDir();\n }\n\n private ensureArtifactsDir(): void {\n if (!fs.existsSync(this.artifactsDir)) {\n fs.mkdirSync(this.artifactsDir, { recursive: true });\n }\n }\n\n // Copy artifact to local storage\n async copyArtifactToLocal(\n sourcePath: string,\n appId: string,\n version: string,\n filename: string\n ): Promise<string> {\n if (!fs.existsSync(sourcePath)) {\n throw new Error(`Source file not found: ${sourcePath}`);\n }\n\n // Create app version directory\n const appVersionDir = path.join(this.artifactsDir, appId, version);\n if (!fs.existsSync(appVersionDir)) {\n fs.mkdirSync(appVersionDir, { recursive: true });\n }\n\n // Copy file to local storage\n const targetPath = path.join(appVersionDir, filename);\n fs.copyFileSync(sourcePath, targetPath);\n\n // Calculate file hash for tracking\n const fileHash = await this.calculateFileHash(targetPath);\n this.dataStore.setArtifactPath(fileHash, targetPath);\n\n return targetPath;\n }\n\n // Serve artifact by app ID, version, and filename\n async serveArtifact(\n appId: string,\n version: string,\n filename: string\n ): Promise<Buffer> {\n const artifactPath = path.join(this.artifactsDir, appId, version, filename);\n\n if (!fs.existsSync(artifactPath)) {\n throw new Error(`Artifact not found: ${artifactPath}`);\n }\n\n return fs.readFileSync(artifactPath);\n }\n\n // Serve artifact by hash\n async serveByHash(hash: string): Promise<Buffer> {\n const artifactPath = this.dataStore.getArtifactPath(hash);\n\n if (!artifactPath || !fs.existsSync(artifactPath)) {\n throw new Error(`Artifact not found for hash: ${hash}`);\n }\n\n return fs.readFileSync(artifactPath);\n }\n\n // Validate artifact file\n async validateArtifact(\n filePath: string\n ): Promise<{ size: number; sha256: string }> {\n if (!fs.existsSync(filePath)) {\n throw new Error(`File not found: ${filePath}`);\n }\n\n const stats = fs.statSync(filePath);\n const fileBuffer = fs.readFileSync(filePath);\n const sha256 = crypto.createHash('sha256').update(fileBuffer).digest('hex');\n\n return {\n size: stats.size,\n sha256,\n };\n }\n\n // Calculate file hash\n private async calculateFileHash(filePath: string): Promise<string> {\n const fileBuffer = fs.readFileSync(filePath);\n return crypto.createHash('sha256').update(fileBuffer).digest('hex');\n }\n\n // Get artifact URL for local serving\n getArtifactUrl(appId: string, version: string, filename: string): string {\n const baseUrl = `http://${this.config.getPublicHost()}:${this.config.getPort()}`;\n return `${baseUrl}/artifacts/${appId}/${version}/${filename}`;\n }\n\n // Get artifact URL by hash\n getArtifactUrlByHash(hash: string): string {\n const baseUrl = `http://${this.config.getPublicHost()}:${this.config.getPort()}`;\n return `${baseUrl}/artifacts/${hash}`;\n }\n\n // Update manifest artifact to use local URLs (and preserve HTTP access)\n updateManifestArtifact(manifest: V1Manifest): V1Manifest {\n const updatedManifest: V1Manifest = { ...manifest };\n\n if (!manifest.artifact?.uri) {\n return updatedManifest;\n }\n\n const uri = manifest.artifact.uri;\n\n if (uri.startsWith('/')) {\n updatedManifest.artifact = {\n ...manifest.artifact,\n uri: `${this.getArtifactUrl(manifest.id, manifest.version, path.basename(manifest.artifact.uri))}`,\n };\n } else if (uri.startsWith('file://')) {\n const filePath = uri.replace('file://', '');\n const filename = path.basename(filePath);\n updatedManifest.artifact = {\n ...manifest.artifact,\n uri: this.getArtifactUrl(manifest.id, manifest.version, filename),\n };\n }\n\n return updatedManifest;\n }\n\n // Clean up old artifacts\n async cleanupOldArtifacts(\n maxAge: number = 30 * 24 * 60 * 60 * 1000\n ): Promise<void> {\n const now = Date.now();\n\n // Get all artifact files\n const getAllFiles = (dir: string): string[] => {\n let files: string[] = [];\n const items = fs.readdirSync(dir);\n\n for (const item of items) {\n const fullPath = path.join(dir, item);\n const stat = fs.statSync(fullPath);\n\n if (stat.isDirectory()) {\n files = files.concat(getAllFiles(fullPath));\n } else {\n files.push(fullPath);\n }\n }\n\n return files;\n };\n\n const allFiles = getAllFiles(this.artifactsDir);\n\n for (const file of allFiles) {\n const stats = fs.statSync(file);\n const age = now - stats.mtime.getTime();\n\n if (age > maxAge) {\n fs.unlinkSync(file);\n console.log(`Cleaned up old artifact: ${file}`);\n }\n }\n }\n\n // Get artifact statistics\n getArtifactStats(): {\n totalFiles: number;\n totalSize: number;\n oldestFile: Date | null;\n } {\n let totalFiles = 0;\n let totalSize = 0;\n let oldestFile: Date | null = null;\n\n const getAllFiles = (dir: string): string[] => {\n let files: string[] = [];\n const items = fs.readdirSync(dir);\n\n for (const item of items) {\n const fullPath = path.join(dir, item);\n const stat = fs.statSync(fullPath);\n\n if (stat.isDirectory()) {\n files = files.concat(getAllFiles(fullPath));\n } else {\n files.push(fullPath);\n }\n }\n\n return files;\n };\n\n if (fs.existsSync(this.artifactsDir)) {\n const allFiles = getAllFiles(this.artifactsDir);\n\n for (const file of allFiles) {\n const stats = fs.statSync(file);\n totalFiles++;\n totalSize += stats.size;\n\n if (!oldestFile || stats.mtime < oldestFile) {\n oldestFile = stats.mtime;\n }\n }\n }\n\n return {\n totalFiles,\n totalSize,\n oldestFile,\n };\n }\n}\n","import { SSAppRegistryClient } from '@calimero-network/registry-client';\nimport { LocalConfig } from './local-config.js';\nimport {\n LocalDataStore,\n AppSummary,\n VersionInfo,\n V1Manifest,\n} from './local-storage.js';\nimport { LocalArtifactServer } from './local-artifacts.js';\nimport fs from 'fs';\nimport path from 'path';\n\nexport interface RegistryClient {\n getApps(filters?: { name?: string }): Promise<AppSummary[]>;\n getAppVersions(appId: string): Promise<VersionInfo[]>;\n getAppManifest(appId: string, semver: string): Promise<V1Manifest>;\n submitAppManifest(\n manifest: V1Manifest\n ): Promise<{ success: boolean; message: string }>;\n healthCheck(): Promise<{ status: string }>;\n}\n\nexport class RemoteRegistryClient implements RegistryClient {\n private client: SSAppRegistryClient;\n\n constructor(baseURL: string, timeout: number) {\n this.client = new SSAppRegistryClient({\n baseURL,\n timeout,\n });\n }\n\n async getApps(filters?: { name?: string }): Promise<AppSummary[]> {\n return await this.client.getApps(filters);\n }\n\n async getAppVersions(appId: string): Promise<VersionInfo[]> {\n return await this.client.getAppVersions(appId);\n }\n\n async getAppManifest(appId: string, semver: string): Promise<V1Manifest> {\n return await this.client.getAppManifest(appId, semver);\n }\n\n async submitAppManifest(\n manifest: V1Manifest\n ): Promise<{ success: boolean; message: string }> {\n return await this.client.submitAppManifest(manifest);\n }\n\n async healthCheck(): Promise<{ status: string }> {\n return await this.client.healthCheck();\n }\n}\n\nexport class LocalRegistryClient implements RegistryClient {\n private config: LocalConfig;\n private dataStore: LocalDataStore;\n private artifactServer: LocalArtifactServer;\n\n constructor() {\n this.config = new LocalConfig();\n this.dataStore = new LocalDataStore(this.config);\n this.artifactServer = new LocalArtifactServer(this.config, this.dataStore);\n }\n\n async getApps(filters?: { name?: string }): Promise<AppSummary[]> {\n return this.dataStore.getApps(filters);\n }\n\n async getAppVersions(appId: string): Promise<VersionInfo[]> {\n return this.dataStore.getAppVersions(appId);\n }\n\n async getAppManifest(appId: string, semver: string): Promise<V1Manifest> {\n const manifest = this.dataStore.getManifest(appId, semver);\n if (!manifest) {\n throw new Error('Manifest not found');\n }\n return this.artifactServer.updateManifestArtifact(manifest);\n }\n\n async submitAppManifest(\n manifest: V1Manifest\n ): Promise<{ success: boolean; message: string }> {\n if (!this.validateManifest(manifest)) {\n throw new Error('Invalid manifest structure');\n }\n\n const processedManifest = await this.processManifestArtifacts(manifest);\n const manifestKey = `${processedManifest.id}/${processedManifest.version}`;\n this.dataStore.setManifest(manifestKey, processedManifest);\n\n const appSummary: AppSummary = {\n id: processedManifest.id,\n name: processedManifest.name,\n latest_version: processedManifest.version,\n latest_digest: processedManifest.artifact.digest,\n };\n this.dataStore.setApp(processedManifest.id, appSummary);\n\n return {\n success: true,\n message: 'App version registered successfully',\n };\n }\n\n async healthCheck(): Promise<{ status: string }> {\n return { status: 'ok' };\n }\n\n private validateManifest(manifest: V1Manifest): boolean {\n return !!(\n manifest.manifest_version &&\n manifest.id &&\n manifest.name &&\n manifest.version &&\n manifest.artifact &&\n manifest.artifact.type &&\n manifest.artifact.target &&\n manifest.artifact.digest &&\n manifest.artifact.uri\n );\n }\n\n private async processManifestArtifacts(\n manifest: V1Manifest\n ): Promise<V1Manifest> {\n const processedManifest: V1Manifest = { ...manifest };\n\n if (manifest.artifact?.uri?.startsWith('file://')) {\n const filePath = manifest.artifact.uri.replace('file://', '');\n\n if (fs.existsSync(filePath)) {\n const filename = path.basename(filePath);\n\n try {\n await this.artifactServer.copyArtifactToLocal(\n filePath,\n manifest.id,\n manifest.version,\n filename\n );\n\n processedManifest.artifact = {\n ...manifest.artifact,\n uri: this.artifactServer.getArtifactUrl(\n manifest.id,\n manifest.version,\n filename\n ),\n };\n } catch (error) {\n console.warn(`Failed to copy artifact ${filePath}:`, error);\n }\n }\n }\n\n return processedManifest;\n }\n}\n\nexport function createRegistryClient(\n useLocal: boolean,\n baseURL?: string,\n timeout?: number\n): RegistryClient {\n if (useLocal) {\n return new LocalRegistryClient();\n } else {\n return new RemoteRegistryClient(\n baseURL || 'http://localhost:8082',\n timeout || 10000\n );\n }\n}\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { table } from 'table';\nimport { createRegistryClient } from '../lib/registry-client.js';\nimport fs from 'fs';\nimport path from 'path';\n\nexport const appsCommand = new Command('apps')\n .description('Manage SSApp applications')\n .addCommand(\n new Command('list')\n .description('List all applications')\n .option('-n, --name <name>', 'Filter by application name')\n .action(async (options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const useLocal = globalOpts?.local || false;\n const client = createRegistryClient(\n useLocal,\n globalOpts?.url,\n parseInt(globalOpts?.timeout || '10000')\n );\n\n const spinner = ora('Fetching applications...').start();\n\n try {\n const apps = await client.getApps({\n name: options.name,\n });\n\n spinner.succeed(`Found ${apps.length} application(s)`);\n\n if (apps.length === 0) {\n console.log(chalk.yellow('No applications found'));\n return;\n }\n\n const tableData = [\n ['ID', 'Name', 'Latest Version', 'Digest'],\n ...apps.map(app => [\n app.id,\n app.name,\n app.latest_version,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (app.latest_digest || (app as any).latest_cid || 'N/A')\n .toString()\n .substring(0, 12) + '...',\n ]),\n ];\n\n console.log(table(tableData));\n } catch (error) {\n spinner.fail('Failed to fetch applications');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n )\n .addCommand(\n new Command('versions')\n .description('List versions of a specific application')\n .argument('<appId>', 'Application ID')\n .action(async (appId, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const useLocal = globalOpts?.local || false;\n const client = createRegistryClient(\n useLocal,\n globalOpts?.url,\n parseInt(globalOpts?.timeout || '10000')\n );\n\n const spinner = ora(`Fetching versions for ${appId}...`).start();\n\n try {\n const versions = await client.getAppVersions(appId);\n\n spinner.succeed(`Found ${versions.length} version(s)`);\n\n if (versions.length === 0) {\n console.log(chalk.yellow('No versions found'));\n return;\n }\n\n const tableData = [\n ['Version', 'CID', 'Yanked'],\n ...versions.map(version => [\n version.semver,\n version.cid.substring(0, 12) + '...',\n version.yanked ? chalk.red('Yes') : chalk.green('No'),\n ]),\n ];\n\n console.log(table(tableData));\n } catch (error) {\n spinner.fail('Failed to fetch versions');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n )\n .addCommand(\n new Command('manifest')\n .description('Get manifest for a specific application version')\n .argument('<appId>', 'Application ID')\n .argument('<version>', 'Application version')\n .action(async (appId, version, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const useLocal = globalOpts?.local || false;\n const client = createRegistryClient(\n useLocal,\n globalOpts?.url,\n parseInt(globalOpts?.timeout || '10000')\n );\n\n const spinner = ora(\n `Fetching manifest for ${appId}@${version}...`\n ).start();\n\n try {\n const manifest = await client.getAppManifest(appId, version);\n\n spinner.succeed('Manifest fetched successfully');\n\n console.log(chalk.blue('\\nApplication Manifest:'));\n console.log(JSON.stringify(manifest, null, 2));\n } catch (error) {\n spinner.fail('Failed to fetch manifest');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n )\n .addCommand(\n new Command('submit')\n .description('Submit a new application manifest')\n .argument('<manifest-file>', 'Path to the manifest JSON file')\n .action(async (manifestFile, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const useLocal = globalOpts?.local || false;\n const client = createRegistryClient(\n useLocal,\n globalOpts?.url,\n parseInt(globalOpts?.timeout || '10000')\n );\n\n const spinner = ora('Reading manifest file...').start();\n\n try {\n // Read and parse the manifest file\n const manifestPath = path.resolve(manifestFile);\n if (!fs.existsSync(manifestPath)) {\n spinner.fail('Manifest file not found');\n console.error(chalk.red(`File not found: ${manifestFile}`));\n process.exit(1);\n }\n\n const manifestContent = fs.readFileSync(manifestPath, 'utf8');\n const manifest = JSON.parse(manifestContent);\n\n spinner.text = 'Submitting application manifest...';\n\n const result = await client.submitAppManifest(manifest);\n\n spinner.succeed('Application submitted successfully');\n console.log(chalk.green(`\\n✅ ${result.message}`));\n\n if (manifest.app?.name) {\n console.log(chalk.blue(`\\n📱 App: ${manifest.app.name}`));\n console.log(\n chalk.blue(`👤 Developer: ${manifest.app.developer_pubkey}`)\n );\n console.log(chalk.blue(`📦 Version: ${manifest.version?.semver}`));\n }\n } catch (error) {\n spinner.fail('Failed to submit application');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n );\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { table } from 'table';\nimport { SSAppRegistryClient } from '@calimero-network/registry-client';\n\nexport const developersCommand = new Command('developers')\n .description('Manage developer profiles')\n .addCommand(\n new Command('get')\n .description('Get developer profile information')\n .argument('<pubkey>', 'Developer public key')\n .action(async (pubkey, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const client = new SSAppRegistryClient({\n baseURL: globalOpts?.url || 'http://localhost:8082',\n timeout: parseInt(globalOpts?.timeout || '10000'),\n });\n\n const spinner = ora('Fetching developer profile...').start();\n\n try {\n const profile = await client.getDeveloper(pubkey);\n\n spinner.succeed('Developer profile fetched successfully');\n\n console.log(chalk.blue('\\nDeveloper Profile:'));\n console.log(chalk.green('Display Name:'), profile.display_name);\n if (profile.website) {\n console.log(chalk.green('Website:'), profile.website);\n }\n\n if (profile.proofs.length > 0) {\n console.log(chalk.green('\\nProofs:'));\n const tableData = [\n ['Type', 'Value', 'Verified'],\n ...profile.proofs.map(proof => [\n proof.type,\n proof.value.substring(0, 20) + '...',\n proof.verified ? chalk.green('Yes') : chalk.red('No'),\n ]),\n ];\n console.log(table(tableData));\n } else {\n console.log(chalk.yellow('\\nNo proofs found'));\n }\n } catch (error) {\n spinner.fail('Failed to fetch developer profile');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n )\n .addCommand(\n new Command('create')\n .description('Create a new developer profile')\n .argument('<pubkey>', 'Developer public key')\n .argument('<display-name>', 'Display name for the developer')\n .option('-w, --website <url>', 'Developer website URL')\n .option('-p, --proofs <proofs>', 'JSON string of proofs array')\n .action(async (pubkey, displayName, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const client = new SSAppRegistryClient({\n baseURL: globalOpts?.url || 'http://localhost:8082',\n timeout: parseInt(globalOpts?.timeout || '10000'),\n });\n\n const spinner = ora('Creating developer profile...').start();\n\n try {\n let proofs = [];\n if (options.proofs) {\n try {\n proofs = JSON.parse(options.proofs);\n } catch {\n spinner.fail('Invalid proofs JSON format');\n console.error(chalk.red('Proofs must be a valid JSON array'));\n process.exit(1);\n }\n }\n\n const profile = {\n pubkey,\n display_name: displayName,\n website: options.website,\n proofs,\n };\n\n const result = await client.submitDeveloperProfile(pubkey, profile);\n\n spinner.succeed('Developer profile created successfully');\n console.log(chalk.green(`\\n✅ ${result.message}`));\n console.log(chalk.blue(`\\n👤 Developer: ${displayName}`));\n console.log(chalk.blue(`🔑 Public Key: ${pubkey}`));\n if (options.website) {\n console.log(chalk.blue(`🌐 Website: ${options.website}`));\n }\n } catch (error) {\n spinner.fail('Failed to create developer profile');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n );\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { SSAppRegistryClient } from '@calimero-network/registry-client';\n\nexport const attestationsCommand = new Command('attestations')\n .description('Manage application attestations')\n .addCommand(\n new Command('get')\n .description('Get attestation for a specific application version')\n .argument('<pubkey>', 'Developer public key')\n .argument('<name>', 'Application name')\n .argument('<version>', 'Application version')\n .action(async (pubkey, name, version, options, command) => {\n const globalOpts = command.parent?.parent?.opts();\n const client = new SSAppRegistryClient({\n baseURL: globalOpts?.url || 'http://localhost:8082',\n timeout: parseInt(globalOpts?.timeout || '10000'),\n });\n\n const spinner = ora(\n `Fetching attestation for ${name}@${version}...`\n ).start();\n\n try {\n const attestation = await client.getAttestation(\n pubkey,\n name,\n version\n );\n\n spinner.succeed('Attestation fetched successfully');\n\n console.log(chalk.blue('\\nAttestation:'));\n console.log(chalk.green('Status:'), attestation.status);\n console.log(chalk.green('Timestamp:'), attestation.timestamp);\n if (attestation.comment) {\n console.log(chalk.green('Comment:'), attestation.comment);\n }\n } catch (error) {\n spinner.fail('Failed to fetch attestation');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n );\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { createRegistryClient } from '../lib/registry-client.js';\n\nexport const healthCommand = new Command('health')\n .description('Check the health of the SSApp Registry API')\n .action(async (options, command) => {\n const globalOpts = command.parent?.opts();\n const useLocal = globalOpts?.local || false;\n const client = createRegistryClient(\n useLocal,\n globalOpts?.url,\n parseInt(globalOpts?.timeout || '10000')\n );\n\n const spinner = ora('Checking API health...').start();\n\n try {\n const health = await client.healthCheck();\n spinner.succeed('API is healthy');\n console.log(chalk.green(`Status: ${health.status}`));\n } catch (error) {\n spinner.fail('API health check failed');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n });\n","import { writeFileSync, existsSync } from 'fs';\n\nexport async function uploadToIPFS(filePath: string): Promise<string> {\n try {\n // For now, we'll simulate IPFS upload since public gateways require authentication\n // In production, you'd use a service like Pinata, Infura, or your own IPFS node\n\n // Check if file exists (this satisfies the linter by using filePath)\n if (!existsSync(filePath)) {\n throw new Error(`File not found: ${filePath}`);\n }\n\n // Use a hardcoded valid CID for demo\n const simulatedCid = 'QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG';\n\n console.log('⚠️ Using simulated IPFS upload for demo purposes');\n console.log(' In production, use a service like Pinata or Infura');\n\n return simulatedCid;\n } catch (error) {\n throw new Error(\n `Failed to upload to IPFS: ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n}\n\nexport async function downloadFromIPFS(\n cid: string,\n outputPath?: string\n): Promise<string> {\n try {\n // For demo purposes, we'll simulate IPFS download\n // In production, you'd actually download from IPFS\n\n console.log('⚠️ Using simulated IPFS download for demo purposes');\n console.log(' In production, use a service like Pinata or Infura');\n\n // Generate a simulated file content based on CID\n const simulatedContent = `Simulated IPFS file content for CID: ${cid}\\nThis is a demo file that would normally contain the actual application data.`;\n\n // Determine output path\n const finalOutputPath = outputPath || `${cid}.wasm`;\n\n // Write the simulated content to file\n writeFileSync(finalOutputPath, simulatedContent);\n\n return finalOutputPath;\n } catch (error) {\n throw new Error(\n `Failed to download from IPFS: ${error instanceof Error ? error.message : 'Unknown error'}`\n );\n }\n}\n","import ora from 'ora';\n\nexport const spinner = (text: string) => ora(text);\n","import { Command } from 'commander';\nimport { uploadToIPFS, downloadFromIPFS } from '../lib/ipfs';\nimport { spinner } from '../utils/spinner';\n\nexport const ipfsCommand = new Command('ipfs')\n .description('IPFS operations')\n .addCommand(\n new Command('upload')\n .description('Upload a file to IPFS')\n .argument('<file>', 'Path to the file to upload')\n .action(async file => {\n const s = spinner('Uploading to IPFS...').start();\n\n try {\n const cid = await uploadToIPFS(file);\n s.succeed(`File uploaded successfully!`);\n console.log(`CID: ${cid}`);\n console.log(`Gateway URL: https://ipfs.io/ipfs/${cid}`);\n } catch (error) {\n s.fail('Upload failed');\n console.error(\n 'Error:',\n error instanceof Error ? error.message : 'Unknown error'\n );\n process.exit(1);\n }\n })\n )\n .addCommand(\n new Command('download')\n .description('Download a file from IPFS')\n .argument('<cid>', 'IPFS CID to download')\n .argument('[output]', 'Output file path (optional)')\n .action(async (cid, output) => {\n const s = spinner('Downloading from IPFS...').start();\n\n try {\n const outputPath = await downloadFromIPFS(cid, output);\n s.succeed(`File downloaded successfully!`);\n console.log(`Saved to: ${outputPath}`);\n console.log(`Gateway URL: https://ipfs.io/ipfs/${cid}`);\n } catch (error) {\n s.fail('Download failed');\n console.error(\n 'Error:',\n error instanceof Error ? error.message : 'Unknown error'\n );\n process.exit(1);\n }\n })\n );\n","import fastify, { FastifyInstance } from 'fastify';\nimport cors from '@fastify/cors';\nimport { LocalConfig } from './local-config.js';\nimport { LocalDataStore, BundleManifest } from './local-storage.js';\nimport { LocalArtifactServer } from './local-artifacts.js';\nimport fs from 'fs';\n\nexport interface ServerStatus {\n running: boolean;\n url: string;\n dataDir: string;\n appsCount: number;\n artifactsCount: number;\n}\n\nexport class LocalRegistryServer {\n private config: LocalConfig;\n private dataStore: LocalDataStore;\n private artifactServer: LocalArtifactServer;\n private server: FastifyInstance | null = null;\n private isRunning = false;\n\n constructor(config: LocalConfig) {\n this.config = config;\n this.dataStore = new LocalDataStore(config);\n this.artifactServer = new LocalArtifactServer(config, this.dataStore);\n }\n\n async start(port?: number): Promise<void> {\n if (this.isRunning) {\n throw new Error('Local registry is already running');\n }\n\n const serverPort = port || this.config.getPort();\n const host = this.config.getHost();\n\n // Ensure directories exist\n this.config.ensureDirectories();\n\n // Create Fastify server\n this.server = fastify({\n logger: {\n level: 'info',\n },\n });\n\n // Register CORS\n await this.server.register(cors, {\n origin: true,\n credentials: true,\n });\n\n // Register routes\n await this.registerRoutes();\n\n // Start server\n await this.server.listen({ port: serverPort, host });\n this.isRunning = true;\n\n console.log(\n `Local registry server started on http://${host}:${serverPort}`\n );\n }\n\n async stop(): Promise<void> {\n if (!this.server || !this.isRunning) {\n throw new Error('Local registry is not running');\n }\n\n await this.server.close();\n this.isRunning = false;\n this.server = null;\n }\n\n async getStatus(): Promise<ServerStatus> {\n const stats = this.dataStore.getStats();\n const artifactStats = this.artifactServer.getArtifactStats();\n\n return {\n running: this.isRunning,\n url: `http://${this.config.getHost()}:${this.config.getPort()}`,\n dataDir: this.config.getDataDir(),\n appsCount: stats.publishedApps,\n artifactsCount: artifactStats.totalFiles,\n };\n }\n\n async reset(): Promise<void> {\n this.dataStore.reset();\n\n // Clean up artifacts directory\n const artifactsDir = this.config.getArtifactsDir();\n if (fs.existsSync(artifactsDir)) {\n fs.rmSync(artifactsDir, { recursive: true, force: true });\n }\n }\n\n async backup(outputPath?: string): Promise<string> {\n return await this.dataStore.backup(outputPath);\n }\n\n async restore(backupPath: string): Promise<void> {\n await this.dataStore.restore(backupPath);\n }\n\n async seed(): Promise<void> {\n await this.dataStore.seed();\n }\n\n private async registerRoutes(): Promise<void> {\n if (!this.server) {\n throw new Error('Server not initialized');\n }\n\n // Health endpoint\n this.server.get('/healthz', async () => {\n return { status: 'ok' };\n });\n\n // Statistics endpoint\n this.server.get('/stats', async () => {\n const stats = this.dataStore.getStats();\n const artifactStats = this.artifactServer.getArtifactStats();\n\n return {\n publishedApps: stats.publishedApps,\n totalVersions: stats.totalVersions,\n totalArtifacts: artifactStats.totalFiles,\n totalSize: artifactStats.totalSize,\n };\n });\n\n // Artifact endpoints\n this.server.get(\n '/artifacts/:appId/:version/:filename',\n async (request, reply) => {\n const { appId, version, filename } = request.params as {\n appId: string;\n version: string;\n filename: string;\n };\n\n try {\n const artifactData = await this.artifactServer.serveArtifact(\n appId,\n version,\n filename\n );\n\n // Set appropriate headers\n reply.header('Content-Type', 'application/octet-stream');\n reply.header(\n 'Content-Disposition',\n `attachment; filename=\"${filename}\"`\n );\n\n return artifactData as Uint8Array;\n } catch {\n return {\n statusCode: 404,\n error: 'Not Found',\n message: 'Artifact not found',\n };\n }\n }\n );\n\n this.server.get('/artifacts/:hash', async (request, reply) => {\n const { hash } = request.params as { hash: string };\n\n try {\n const artifactData = await this.artifactServer.serveByHash(hash);\n\n // Set appropriate headers\n reply.header('Content-Type', 'application/octet-stream');\n\n return artifactData as Uint8Array;\n } catch {\n return {\n statusCode: 404,\n error: 'Not Found',\n message: 'Artifact not found',\n };\n }\n });\n\n // Local registry management endpoints\n this.server.get('/local/status', async () => {\n return await this.getStatus();\n });\n\n this.server.post('/local/reset', async () => {\n await this.reset();\n return { message: 'Local registry data reset successfully' };\n });\n\n this.server.get('/local/backup', async request => {\n const query = request.query as { output?: string };\n const backupPath = await this.backup(query.output);\n return { backupPath };\n });\n\n this.server.post('/local/restore', async request => {\n const { backupPath } = request.body as { backupPath: string };\n await this.restore(backupPath);\n return { message: 'Data restored successfully' };\n });\n\n this.server.post('/local/seed', async () => {\n await this.seed();\n return { message: 'Sample data seeded successfully' };\n });\n\n // V2 Bundle API endpoints\n this.server.get('/api/v2/bundles', async (request, reply) => {\n const query = request.query as {\n package?: string;\n version?: string;\n developer?: string;\n };\n\n const { package: pkg, version, developer } = query;\n\n // If specific package and version requested, return single bundle\n if (pkg && version) {\n const manifest = this.dataStore.getBundleManifest(pkg, version);\n if (!manifest) {\n return reply.code(404).send({\n error: 'bundle_not_found',\n message: `Bundle ${pkg}@${version} not found`,\n });\n }\n return [manifest];\n }\n\n // Get all bundles\n const allBundles = this.dataStore.getAllBundles();\n const bundles = [];\n\n for (const bundle of allBundles) {\n // Filter by package if specified\n if (pkg && bundle.package !== pkg) {\n continue;\n }\n\n // Filter by developer pubkey if specified\n if (developer) {\n const bundlePubkey = bundle.signature?.pubkey;\n if (!bundlePubkey || bundlePubkey !== developer) {\n continue;\n }\n }\n\n bundles.push(bundle);\n }\n\n // Sort by package name, then by version (descending)\n bundles.sort((a, b) => {\n const pkgCompare = a.package.localeCompare(b.package);\n if (pkgCompare !== 0) return pkgCompare;\n // For same package, sort by version descending\n return b.appVersion.localeCompare(a.appVersion, undefined, {\n numeric: true,\n });\n });\n\n // If filtering by package, return all versions\n // Otherwise, return only latest version per package\n if (pkg) {\n return bundles;\n }\n\n // Group by package and return only latest version\n const latestByPackage = new Map<string, BundleManifest>();\n for (const bundle of bundles) {\n const existing = latestByPackage.get(bundle.package);\n if (!existing || bundle.appVersion > existing.appVersion) {\n latestByPackage.set(bundle.package, bundle);\n }\n }\n\n return Array.from(latestByPackage.values());\n });\n\n this.server.get(\n '/api/v2/bundles/:package/:version',\n async (request, reply) => {\n const { package: pkg, version } = request.params as {\n package: string;\n version: string;\n };\n\n const manifest = this.dataStore.getBundleManifest(pkg, version);\n\n if (!manifest) {\n return reply.code(404).send({\n error: 'manifest_not_found',\n message: `Manifest not found for ${pkg}@${version}`,\n });\n }\n\n return manifest;\n }\n );\n }\n}\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport ora from 'ora';\nimport { LocalRegistryServer } from '../lib/local-server.js';\nimport { LocalConfig } from '../lib/local-config.js';\nimport fs from 'fs';\n\nconst localCommand = new Command('local').description(\n 'Manage local registry for development'\n);\n\n// Start local registry\nlocalCommand.addCommand(\n new Command('start')\n .description('Start local registry server')\n .option('-p, --port <port>', 'Port to run the server on', '8082')\n .option('-h, --host <host>', 'Host to bind the server to', '0.0.0.0')\n .option(\n '--public-host <host>',\n 'Public host exposed in manifest artifact URLs',\n 'host.docker.internal'\n )\n .action(async options => {\n const spinner = ora('Starting local registry...').start();\n\n try {\n const config = new LocalConfig();\n config.setHost(options.host);\n config.setPublicHost(options.publicHost);\n config.setPort(parseInt(options.port, 10));\n const server = new LocalRegistryServer(config);\n\n await server.start(parseInt(options.port));\n\n spinner.succeed(\n `Local registry started on http://${config.getHost()}:${config.getPort()}`\n );\n console.log(chalk.blue('\\n📱 Local Registry Status:'));\n console.log(\n chalk.green(\n `✅ Server: http://${config.getHost()}:${config.getPort()}`\n )\n );\n console.log(\n chalk.green(\n `🌐 Public URL: http://${config.getPublicHost()}:${config.getPort()}`\n )\n );\n console.log(chalk.green(`📁 Data: ${config.getDataDir()}`));\n console.log(\n chalk.green(\n `📋 Health: http://${config.getHost()}:${config.getPort()}/healthz`\n )\n );\n console.log(\n chalk.green(\n `📊 Stats: http://${config.getHost()}:${config.getPort()}/stats`\n )\n );\n console.log(\n chalk.blue(\n '\\n💡 Use --local flag with other commands to use local registry'\n )\n );\n } catch (error) {\n spinner.fail('Failed to start local registry');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Stop local registry\nlocalCommand.addCommand(\n new Command('stop')\n .description('Stop local registry server')\n .action(async () => {\n const spinner = ora('Stopping local registry...').start();\n\n try {\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n await server.stop();\n\n spinner.succeed('Local registry stopped');\n } catch (error) {\n spinner.fail('Failed to stop local registry');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Status check\nlocalCommand.addCommand(\n new Command('status')\n .description('Check local registry status')\n .action(async () => {\n const spinner = ora('Checking local registry status...').start();\n\n try {\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n const status = await server.getStatus();\n\n if (status.running) {\n spinner.succeed('Local registry is running');\n console.log(chalk.green(`✅ Server: ${status.url}`));\n console.log(chalk.green(`📁 Data: ${status.dataDir}`));\n console.log(chalk.green(`📊 Apps: ${status.appsCount} applications`));\n console.log(\n chalk.green(`📦 Artifacts: ${status.artifactsCount} artifacts`)\n );\n } else {\n spinner.warn('Local registry is not running');\n console.log(\n chalk.yellow(\n '💡 Run \"calimero-registry local start\" to start the local registry'\n )\n );\n }\n } catch (error) {\n spinner.fail('Failed to check local registry status');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Reset local data\nlocalCommand.addCommand(\n new Command('reset')\n .description('Reset local registry data')\n .option('-f, --force', 'Force reset without confirmation')\n .action(async options => {\n if (!options.force) {\n console.log(\n chalk.yellow('⚠️ This will delete all local registry data!')\n );\n console.log(chalk.yellow(' Use --force flag to confirm'));\n return;\n }\n\n const spinner = ora('Resetting local registry data...').start();\n\n try {\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n await server.reset();\n\n spinner.succeed('Local registry data reset');\n console.log(chalk.green('✅ All local data has been cleared'));\n } catch (error) {\n spinner.fail('Failed to reset local registry data');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Backup local data\nlocalCommand.addCommand(\n new Command('backup')\n .description('Backup local registry data')\n .option('-o, --output <file>', 'Output file path')\n .action(async options => {\n const spinner = ora('Creating backup...').start();\n\n try {\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n const backupPath = await server.backup(options.output);\n\n spinner.succeed('Backup created successfully');\n console.log(chalk.green(`📦 Backup saved to: ${backupPath}`));\n } catch (error) {\n spinner.fail('Failed to create backup');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Restore from backup\nlocalCommand.addCommand(\n new Command('restore')\n .description('Restore local registry data from backup')\n .argument('<backup-file>', 'Path to backup file')\n .action(async backupFile => {\n const spinner = ora('Restoring from backup...').start();\n\n try {\n if (!fs.existsSync(backupFile)) {\n spinner.fail('Backup file not found');\n console.error(chalk.red(`File not found: ${backupFile}`));\n process.exit(1);\n }\n\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n await server.restore(backupFile);\n\n spinner.succeed('Data restored successfully');\n console.log(chalk.green(`✅ Restored from: ${backupFile}`));\n } catch (error) {\n spinner.fail('Failed to restore from backup');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\n// Seed with sample data\nlocalCommand.addCommand(\n new Command('seed')\n .description('Seed local registry with sample data')\n .action(async () => {\n const spinner = ora('Seeding local registry with sample data...').start();\n\n try {\n const config = new LocalConfig();\n const server = new LocalRegistryServer(config);\n\n await server.seed();\n\n spinner.succeed('Sample data seeded successfully');\n console.log(\n chalk.green('✅ Local registry populated with sample applications')\n );\n console.log(\n chalk.blue(\n '💡 Run \"calimero-registry apps list --local\" to see the sample apps'\n )\n );\n } catch (error) {\n spinner.fail('Failed to seed sample data');\n if (error instanceof Error) {\n console.error(chalk.red(`Error: ${error.message}`));\n }\n process.exit(1);\n }\n })\n);\n\nexport { localCommand };\n","import fs from 'fs';\nimport path from 'path';\nimport os from 'os';\n\nexport interface RemoteConfigData {\n registry: {\n url: string;\n apiKey?: string;\n };\n}\n\nexport class RemoteConfig {\n private configPath: string;\n private config: RemoteConfigData;\n\n constructor() {\n this.configPath = path.join(\n os.homedir(),\n '.calimero-registry',\n 'remote-config.json'\n );\n this.config = this.loadConfig();\n }\n\n private loadConfig(): RemoteConfigData {\n // Create default config\n const defaultConfig: RemoteConfigData = {\n registry: {\n url: 'https://apps.calimero.network',\n },\n };\n\n // Load existing config if it exists\n if (fs.existsSync(this.configPath)) {\n try {\n const existingConfig = JSON.parse(\n fs.readFileSync(this.configPath, 'utf8')\n );\n return {\n registry: {\n ...defaultConfig.registry,\n ...(existingConfig.registry || {}),\n },\n };\n } catch {\n console.warn('Failed to load existing config, using defaults');\n }\n }\n\n return defaultConfig;\n }\n\n private saveConfig(): void {\n // Ensure config directory exists\n const configDir = path.dirname(this.configPath);\n if (!fs.existsSync(configDir)) {\n fs.mkdirSync(configDir, { recursive: true });\n }\n\n // Save config - always save API key if it's set in config\n // (env var takes precedence when reading, but doesn't prevent saving)\n const configToSave: RemoteConfigData = {\n registry: {\n url: this.config.registry.url,\n // Save API key if it exists in config (regardless of env var)\n ...(this.config.registry.apiKey\n ? { apiKey: this.config.registry.apiKey }\n : {}),\n },\n };\n fs.writeFileSync(this.configPath, JSON.stringify(configToSave, null, 2));\n }\n\n /**\n * Get registry URL with priority:\n * 1. Environment variable CALIMERO_REGISTRY_URL\n * 2. Config file value\n * 3. Default value\n */\n getRegistryUrl(): string {\n return (\n process.env.CALIMERO_REGISTRY_URL ||\n this.config.registry.url ||\n 'https://apps.calimero.network'\n );\n }\n\n /**\n * Set registry URL\n */\n setRegistryUrl(url: string): void {\n this.config.registry.url = url;\n this.saveConfig();\n }\n\n /**\n * Get API key with priority:\n * 1. Environment variable CALIMERO_API_KEY\n * 2. Config file value\n * 3. undefined\n */\n getApiKey(): string | undefined {\n return process.env.CALIMERO_API_KEY || this.config.registry.apiKey;\n }\n\n /**\n * Set API key (stored in config file)\n */\n setApiKey(apiKey: string): void {\n this.config.registry.apiKey = apiKey;\n this.saveConfig();\n }\n\n /**\n * Remove API key from config\n */\n removeApiKey(): void {\n delete this.config.registry.apiKey;\n this.saveConfig();\n }\n\n /**\n * Get full configuration\n */\n getConfig(): RemoteConfigData {\n return {\n registry: {\n url: this.getRegistryUrl(),\n // Don't expose API key in getConfig (security)\n apiKey: this.getApiKey() ? '***' : undefined,\n },\n };\n }\n\n /**\n * Get config file path\n */\n getConfigPath(): string {\n return this.configPath;\n }\n\n /**\n * Reset to defaults\n */\n reset(): void {\n this.config = {\n registry: {\n url: 'https://apps.calimero.network',\n },\n };\n this.saveConfig();\n }\n}\n","/**\n * Bundle Management Commands\n *\n * Implements:\n * - bundle push <file.mpk>\n * - bundle get <package> <version>\n */\n\nimport { Command } from 'commander';\nimport fs from 'fs';\nimport path from 'path';\nimport * as tar from 'tar';\nimport crypto from 'crypto';\nimport { LocalDataStore, BundleManifest } from '../lib/local-storage.js';\nimport { LocalConfig } from '../lib/local-config.js';\nimport { LocalArtifactServer } from '../lib/local-artifacts.js';\nimport { RemoteConfig } from '../lib/remote-config.js';\n\ninterface BundlePushPayload {\n version: string;\n package: string;\n appVersion: string;\n _binary: string;\n _overwrite: boolean;\n metadata?: BundleManifest['metadata'];\n interfaces?: BundleManifest['interfaces'];\n wasm?: BundleManifest['wasm'];\n abi?: BundleManifest['abi'];\n migrations?: BundleManifest['migrations'];\n links?: BundleManifest['links'];\n signature?: BundleManifest['signature'];\n}\n\ninterface ApiResponseBody {\n message?: string;\n error?: string;\n package?: string;\n version?: string;\n [key: string]: unknown;\n}\n\nexport const bundleCommand = new Command('bundle')\n .description('Manage application bundles (V2)')\n .addCommand(createCreateCommand())\n .addCommand(createPushCommand())\n .addCommand(createGetCommand());\n\nfunction createCreateCommand(): Command {\n return new Command('create')\n .description('Create an MPK bundle from a WASM file')\n .argument('<wasm-file>', 'Path to the WASM file')\n .argument('<package>', 'Package name (e.g. com.calimero.myapp)')\n .argument('<version>', 'Version (e.g. 1.0.0)')\n .option('-o, --output <path>', 'Output path for the MPK file')\n .option('--name <name>', 'Application name')\n .option('--description <description>', 'Application description')\n .option('--author <author>', 'Application author', 'Calimero Team')\n .option('--frontend <url>', 'Frontend URL')\n .option('--github <url>', 'GitHub URL')\n .option('--docs <url>', 'Documentation URL')\n .option(\n '--export <interface>',\n 'Export interface (can be specified multiple times)',\n (value, prev) => {\n return [...(prev || []), value];\n }\n )\n .option(\n '--use <interface>',\n 'Use interface (can be specified multiple times)',\n (value, prev) => {\n return [...(prev || []), value];\n }\n )\n .action(async (wasmFile, pkg, version, options) => {\n try {\n const wasmPath = path.resolve(wasmFile);\n if (!fs.existsSync(wasmPath)) {\n console.error(`❌ WASM file not found: ${wasmFile}`);\n process.exit(1);\n }\n\n console.log(`📦 Creating MPK bundle from: ${path.basename(wasmPath)}`);\n\n // Read WASM file\n const wasmContent = fs.readFileSync(wasmPath);\n const wasmSize = wasmContent.length;\n\n // Calculate SHA256 hash\n const hash = crypto\n .createHash('sha256')\n .update(wasmContent)\n .digest('hex');\n\n // Build metadata\n const metadata: {\n name: string;\n description: string;\n author: string;\n } = {\n name: options.name || pkg,\n description: options.description || '',\n author: options.author || 'Calimero Team',\n };\n\n // Build links if provided\n const links: {\n frontend?: string;\n github?: string;\n docs?: string;\n } = {};\n if (options.frontend) links.frontend = options.frontend;\n if (options.github) links.github = options.github;\n if (options.docs) links.docs = options.docs;\n\n // Build interfaces\n const interfaces = {\n exports: options.export || [],\n uses: options.use || [],\n };\n\n // Create bundle manifest\n const manifest: BundleManifest = {\n version: '1.0',\n package: pkg,\n appVersion: version,\n metadata: Object.keys(metadata).length > 0 ? metadata : undefined,\n interfaces:\n interfaces.exports.length > 0 || interfaces.uses.length > 0\n ? interfaces\n : undefined,\n wasm: {\n path: 'app.wasm',\n hash: hash,\n size: wasmSize,\n },\n abi: null,\n migrations: [],\n links: Object.keys(links).length > 0 ? links : undefined,\n signature: undefined,\n };\n\n // Determine output path\n let outputPath = options.output;\n if (!outputPath) {\n const outputDir = path.join(process.cwd(), pkg, version);\n if (!fs.existsSync(outputDir)) {\n fs.mkdirSync(outputDir, { recursive: true });\n }\n outputPath = path.join(outputDir, `${pkg}-${version}.mpk`);\n } else {\n outputPath = path.resolve(outputPath);\n const outputDir = path.dirname(outputPath);\n if (!fs.existsSync(outputDir)) {\n fs.mkdirSync(outputDir, { recursive: true });\n }\n }\n\n // Create temporary directory for bundle contents\n const tempDir = path.join(\n path.dirname(outputPath),\n `.temp-bundle-${Date.now()}`\n );\n fs.mkdirSync(tempDir, { recursive: true });\n\n try {\n // Write manifest.json\n fs.writeFileSync(\n path.join(tempDir, 'manifest.json'),\n JSON.stringify(manifest, null, 2)\n );\n\n // Copy WASM file as app.wasm\n fs.writeFileSync(path.join(tempDir, 'app.wasm'), wasmContent);\n\n // Create gzip-compressed tar archive\n await tar.create(\n {\n gzip: true,\n file: outputPath,\n cwd: tempDir,\n },\n ['manifest.json', 'app.wasm']\n );\n\n const outputSize = fs.statSync(outputPath).size;\n console.log(`✅ Created MPK bundle: ${outputPath}`);\n console.log(` Package: ${pkg}`);\n console.log(` Version: ${version}`);\n console.log(` Size: ${outputSize} bytes`);\n console.log(` WASM Hash: ${hash}`);\n } finally {\n // Cleanup temp directory\n if (fs.existsSync(tempDir)) {\n fs.rmSync(tempDir, { recursive: true, force: true });\n }\n }\n } catch (error) {\n const message =\n error instanceof Error ? error.message : 'Unknown error';\n console.error('❌ Failed to create bundle:', message);\n process.exit(1);\n }\n });\n}\n\nfunction createPushCommand(): Command {\n return new Command('push')\n .description(\n 'Push a bundle (.mpk) to the registry (local or remote). Defaults to local registry.'\n )\n .argument('<bundle-file>', 'Path to the .mpk bundle file')\n .option('--local', 'Push to local registry instance (default)')\n .option('--remote', 'Push to remote registry instance')\n .option(\n '--url <registry-url>',\n 'Registry URL for remote push (overrides config file)'\n )\n .option(\n '--api-key <key>',\n 'API key for authentication (overrides config file and env var)'\n )\n .addHelpText(\n 'after',\n `\nExamples:\n $ calimero-registry bundle push bundle.mpk --local\n $ calimero-registry bundle push bundle.mpk --remote\n $ calimero-registry bundle push bundle.mpk --remote --url https://apps.calimero.network\n $ calimero-registry bundle push bundle.mpk --remote --api-key your-api-key\n\nConfiguration:\n Set defaults using the config command:\n $ calimero-registry config set registry-url https://apps.calimero.network\n $ calimero-registry config set api-key your-api-key\n \n Or use environment variables:\n $ export CALIMERO_REGISTRY_URL=https://apps.calimero.network\n $ export CALIMERO_API_KEY=your-api-key\n\nNote:\n - Use --local for development/testing with local registry\n - Use --remote for production deployments\n - Config file values are used unless overridden by flags or environment variables\n - Priority: flag > environment variable > config file > default\n`\n )\n .action(async (bundleFile, options) => {\n try {\n // Warn if remote-only options are used without --remote\n if (!options.remote && (options.url || options.apiKey)) {\n console.warn(\n '⚠️ Warning: --url and --api-key are only used with --remote flag'\n );\n console.warn(\n ' These options will be ignored. Use --remote to push to remote registry.'\n );\n }\n\n // Determine mode: default to local if neither flag is set\n // Handle explicit false from --no-local flag\n const useLocal =\n options.local === false\n ? false\n : options.local === true\n ? true\n : !options.remote;\n const useRemote = options.remote === true;\n\n // Ensure mutually exclusive flags\n if (options.local && options.remote) {\n console.error('❌ Cannot use both --local and --remote flags');\n process.exit(1);\n }\n\n // Ensure at least one mode is selected\n if (!useLocal && !useRemote) {\n console.error(\n '❌ No push mode specified. Use --local or --remote flag'\n );\n process.exit(1);\n }\n\n const fullPath = path.resolve(bundleFile);\n if (!fs.existsSync(fullPath)) {\n console.error(`❌ File not found: ${bundleFile}`);\n process.exit(1);\n }\n\n console.log(`📦 Processing bundle: ${path.basename(fullPath)}`);\n\n // 1. Read bundle and extract manifest\n const manifest = await extractManifest(fullPath);\n\n if (!manifest) {\n console.error('❌ manifest.json not found in bundle');\n process.exit(1);\n }\n\n // 2. Validate manifest\n if (!manifest.package || !manifest.appVersion) {\n console.error('❌ Invalid manifest: missing package or appVersion');\n process.exit(1);\n }\n\n console.log(` Package: ${manifest.package}`);\n console.log(` Version: ${manifest.appVersion}`);\n if (manifest.metadata) {\n console.log(` Name: ${manifest.metadata.name}`);\n }\n\n // 3. Store (Local Mode)\n if (useLocal) {\n const config = new LocalConfig();\n const store = new LocalDataStore(config);\n const artifactServer = new LocalArtifactServer(config, store);\n\n // Copy bundle artifact to local storage\n const bundleFilename = `${manifest.package}-${manifest.appVersion}.mpk`;\n const targetPath = await artifactServer.copyArtifactToLocal(\n fullPath,\n manifest.package,\n manifest.appVersion,\n bundleFilename\n );\n\n console.log(` Artifact stored: ${targetPath}`);\n\n // Update manifest with local artifact path/url?\n // Actually, for V2 bundles, the registry serves the whole .mpk.\n // The manifest inside the registry is metadata.\n // We might want to store the bundle download URL in the manifest we serve via API?\n // Or just keep it implicit (API constructs download link).\n\n // For local-storage, we can add a field to track where the .mpk is.\n // But LocalDataStore mainly stores the JSON.\n // The artifacts are stored by convention in artifacts/package/version/.\n\n store.setBundleManifest(\n manifest.package,\n manifest.appVersion,\n manifest\n );\n console.log('✅ Bundle manifest registered locally');\n console.log(\n ` Run 'calimero-registry bundle get ${manifest.package} ${manifest.appVersion}' to verify`\n );\n } else if (useRemote) {\n // Remote Mode: Push to remote registry\n // Get values from config file, with flag/environment variable overrides\n const remoteConfig = new RemoteConfig();\n const registryUrl =\n options.url ||\n process.env.CALIMERO_REGISTRY_URL ||\n remoteConfig.getRegistryUrl();\n const apiKey =\n options.apiKey ||\n process.env.CALIMERO_API_KEY ||\n remoteConfig.getApiKey();\n\n await pushToRemote(fullPath, manifest, registryUrl, apiKey);\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n console.error('❌ Failed to push bundle:', message);\n process.exit(1);\n }\n });\n}\n\nfunction createGetCommand(): Command {\n return new Command('get')\n .description('Get bundle manifest')\n .argument('<package>', 'Package name (e.g. com.calimero.kv)')\n .argument('<version>', 'Version (e.g. 1.0.0)')\n .option('--local', 'Use local registry', true)\n .action(async (pkg, version, options) => {\n try {\n if (options.local) {\n const config = new LocalConfig();\n const store = new LocalDataStore(config);\n const manifest = store.getBundleManifest(pkg, version);\n\n if (manifest) {\n console.log(JSON.stringify(manifest, null, 2));\n } else {\n console.error(`❌ Manifest not found: ${pkg}@${version}`);\n process.exit(1);\n }\n } else {\n console.error('❌ Remote get not implemented yet');\n process.exit(1);\n }\n } catch (error) {\n console.error('❌ Error:', error);\n process.exit(1);\n }\n });\n}\n\n// Helper to push bundle to remote registry\nasync function pushToRemote(\n bundlePath: string,\n manifest: BundleManifest,\n registryUrl: string,\n apiKey?: string\n): Promise<void> {\n try {\n console.log(`📤 Pushing to remote registry: ${registryUrl}`);\n\n // 1. Read bundle file as binary\n const bundleBuffer = fs.readFileSync(bundlePath);\n const bundleSize = bundleBuffer.length;\n console.log(` Bundle size: ${bundleSize} bytes`);\n\n // 2. Convert bundle to hex string\n const bundleHex = bundleBuffer.toString('hex');\n console.log(` Converted to hex (${bundleHex.length} characters)`);\n\n // 3. Build request payload matching API format\n const payload: BundlePushPayload = {\n version: manifest.version || '1.0',\n package: manifest.package,\n appVersion: manifest.appVersion,\n _binary: bundleHex,\n _overwrite: true,\n };\n\n // Preserve all manifest fields\n if (manifest.metadata) {\n payload.metadata = manifest.metadata;\n }\n if (manifest.interfaces) {\n payload.interfaces = manifest.interfaces;\n }\n if (manifest.wasm) {\n payload.wasm = manifest.wasm;\n }\n if (manifest.abi) {\n payload.abi = manifest.abi;\n }\n if (manifest.migrations && manifest.migrations.length > 0) {\n payload.migrations = manifest.migrations;\n }\n if (manifest.links) {\n payload.links = manifest.links;\n }\n if (manifest.signature) {\n payload.signature = manifest.signature;\n }\n\n // 4. Prepare headers\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n };\n\n // Add API key if provided (from option or environment variable)\n const finalApiKey = apiKey || process.env.CALIMERO_API_KEY;\n if (finalApiKey) {\n headers['Authorization'] = `Bearer ${finalApiKey}`;\n }\n\n // 5. POST to remote registry\n const apiUrl = `${registryUrl.replace(/\\/$/, '')}/api/v2/bundles/push`;\n console.log(` POST ${apiUrl}`);\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 60000); // 60 second timeout\n\n try {\n const response = await fetch(apiUrl, {\n method: 'POST',\n headers,\n body: JSON.stringify(payload),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n const responseText = await response.text();\n let responseBody: ApiResponseBody;\n try {\n responseBody = JSON.parse(responseText) as ApiResponseBody;\n } catch {\n responseBody = { message: responseText };\n }\n\n // 6. Handle response\n if (response.status === 201) {\n console.log('✅ Bundle manifest uploaded successfully');\n console.log(` Package: ${responseBody.package || manifest.package}`);\n console.log(\n ` Version: ${responseBody.version || manifest.appVersion}`\n );\n\n // 7. Verify bundle was stored correctly\n await verifyRemotePush(\n registryUrl,\n manifest.package,\n manifest.appVersion\n );\n } else {\n // Handle error responses\n handlePushError(response.status, responseBody);\n }\n } catch (fetchError: unknown) {\n clearTimeout(timeoutId);\n if (fetchError instanceof Error && fetchError.name === 'AbortError') {\n console.error('❌ Request timed out after 60 seconds');\n console.error(' The bundle may be too large or the server is slow');\n process.exit(1);\n }\n throw fetchError;\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n console.error('❌ Failed to push to remote registry:', message);\n throw error;\n }\n}\n\n// Helper to verify bundle was stored correctly\nasync function verifyRemotePush(\n registryUrl: string,\n packageName: string,\n version: string\n): Promise<void> {\n try {\n console.log('🔍 Verifying upload to remote registry...');\n\n const verifyUrl = `${registryUrl.replace(/\\/$/, '')}/api/v2/bundles/${packageName}/${version}`;\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), 10000); // 10 second timeout\n\n try {\n const response = await fetch(verifyUrl, {\n method: 'GET',\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (response.status === 200) {\n await response.json(); // Consume response body\n console.log('✅ Bundle verified and accessible on remote registry');\n console.log(`🌐 Registry: ${registryUrl}`);\n console.log(`🔗 Endpoint: ${verifyUrl}`);\n } else {\n console.warn(\n `⚠️ Upload verification failed - bundle not found (HTTP ${response.status})`\n );\n console.warn(' The bundle may still be processing, check manually');\n }\n } catch (verifyError: unknown) {\n clearTimeout(timeoutId);\n if (verifyError instanceof Error && verifyError.name === 'AbortError') {\n console.warn('⚠️ Verification request timed out');\n } else {\n const message =\n verifyError instanceof Error\n ? verifyError.message\n : String(verifyError);\n console.warn('⚠️ Verification request failed:', message);\n }\n console.warn(' The bundle may still be accessible, check manually');\n }\n } catch (error) {\n // Verification failure is not critical\n console.warn('⚠️ Could not verify bundle:', error);\n }\n}\n\n// Helper to handle push errors with helpful messages\nfunction handlePushError(\n statusCode: number,\n responseBody: ApiResponseBody\n): void {\n const errorMessage =\n responseBody.message || responseBody.error || 'Unknown error';\n\n switch (statusCode) {\n case 400:\n console.error('❌ Bad Request: Invalid manifest');\n console.error(` ${errorMessage}`);\n console.error(' Check that your bundle manifest is valid');\n break;\n case 401:\n console.error('❌ Unauthorized: Authentication required');\n console.error(` ${errorMessage}`);\n console.error(\n ' Provide an API key with --api-key or CALIMERO_API_KEY env var'\n );\n break;\n case 403:\n console.error('❌ Forbidden: Namespace ownership required');\n console.error(` ${errorMessage}`);\n console.error(\n ' Ensure you have permission to publish to this package namespace'\n );\n break;\n case 409:\n console.error('❌ Conflict: Version already exists');\n console.error(` ${errorMessage}`);\n console.error(\n ' Increment the version number and try again, or contact registry admin'\n );\n break;\n case 500:\n console.error('❌ Internal Server Error');\n console.error(` ${errorMessage}`);\n console.error(' The registry server encountered an error');\n break;\n default:\n console.error(`❌ Upload failed with HTTP ${statusCode}`);\n console.error(` ${errorMessage}`);\n }\n\n process.exit(1);\n}\n\n// Helper to extract manifest.json from .mpk (tar.gz)\nasync function extractManifest(\n bundlePath: string\n): Promise<BundleManifest | null> {\n let manifestContent: string | null = null;\n\n // @ts-expect-error tar typing issue\n await tar.t({\n file: bundlePath,\n\n onentry: (entry: tar.ReadEntry) => {\n if (entry.path === 'manifest.json') {\n // Found it\n }\n },\n });\n\n // Actual extraction\n const extractDir = path.join(path.dirname(bundlePath), `.temp-${Date.now()}`);\n if (!fs.existsSync(extractDir)) {\n fs.mkdirSync(extractDir);\n }\n\n try {\n // @ts-expect-error tar typing issue\n await tar.x({\n file: bundlePath,\n cwd: extractDir,\n filter: (path: string) => path === 'manifest.json',\n });\n\n const manifestPath = path.join(extractDir, 'manifest.json');\n if (fs.existsSync(manifestPath)) {\n const content = fs.readFileSync(manifestPath, 'utf8');\n manifestContent = content;\n }\n } catch {\n // ignore\n } finally {\n // Cleanup\n if (fs.existsSync(extractDir)) {\n fs.rmSync(extractDir, { recursive: true, force: true });\n }\n }\n\n if (manifestContent) {\n try {\n return JSON.parse(manifestContent) as BundleManifest;\n } catch {\n console.error('Failed to parse manifest JSON');\n return null;\n }\n }\n\n return null;\n}\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport { RemoteConfig } from '../lib/remote-config.js';\n\nexport const configCommand = new Command('config')\n .description('Manage CLI configuration for remote registry')\n .addCommand(createConfigSetCommand())\n .addCommand(createConfigGetCommand())\n .addCommand(createConfigListCommand())\n .addCommand(createConfigResetCommand());\n\nfunction createConfigSetCommand(): Command {\n return new Command('set')\n .description('Set a configuration value')\n .argument('<key>', 'Configuration key (registry-url, api-key)')\n .argument('<value>', 'Configuration value')\n .action((key, value) => {\n try {\n const config = new RemoteConfig();\n\n switch (key) {\n case 'registry-url':\n case 'registryUrl':\n case 'url':\n config.setRegistryUrl(value);\n console.log(\n chalk.green(`✅ Registry URL set to: ${chalk.bold(value)}`)\n );\n break;\n\n case 'api-key':\n case 'apiKey':\n config.setApiKey(value);\n console.log(chalk.green('✅ API key set successfully'));\n console.log(\n chalk.yellow(\n '💡 Note: API key is stored in plain text. Consider using CALIMERO_API_KEY environment variable for better security.'\n )\n );\n break;\n\n default:\n console.error(chalk.red(`❌ Unknown configuration key: ${key}`));\n console.log(chalk.blue('\\nAvailable keys:'));\n console.log(' registry-url - Default registry URL');\n console.log(' api-key - API key for authentication');\n process.exit(1);\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n console.error(chalk.red('❌ Failed to set configuration:'), message);\n process.exit(1);\n }\n });\n}\n\nfunction createConfigGetCommand(): Command {\n return new Command('get')\n .description('Get a configuration value')\n .argument('<key>', 'Configuration key (registry-url, api-key)')\n .action(key => {\n try {\n const config = new RemoteConfig();\n\n switch (key) {\n case 'registry-url':\n case 'registryUrl':\n case 'url':\n console.log(config.getRegistryUrl());\n break;\n\n case 'api-key':\n case 'apiKey': {\n const apiKey = config.getApiKey();\n if (apiKey) {\n // Mask API key for security\n const masked =\n apiKey.length > 8\n ? `${apiKey.substring(0, 4)}...${apiKey.substring(apiKey.length - 4)}`\n : '***';\n console.log(masked);\n console.log(\n chalk.yellow(\n '💡 Note: API key is masked. Use \"config list\" to see source.'\n )\n );\n } else {\n console.log('(not set)');\n }\n break;\n }\n\n default:\n console.error(chalk.red(`❌ Unknown configuration key: ${key}`));\n console.log(chalk.blue('\\nAvailable keys:'));\n console.log(' registry-url - Default registry URL');\n console.log(' api-key - API key for authentication');\n process.exit(1);\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n console.error(chalk.red('❌ Failed to get configuration:'), message);\n process.exit(1);\n }\n });\n}\n\nfunction createConfigListCommand(): Command {\n return new Command('list')\n .description('List all configuration values')\n .alias('ls')\n .action(() => {\n try {\n const config = new RemoteConfig();\n\n console.log(chalk.blue('\\n📋 Remote Registry Configuration\\n'));\n\n // Check if config file exists\n const configPath = config.getConfigPath();\n const configFileExists = fs.existsSync(configPath);\n\n // Registry URL\n const url = config.getRegistryUrl();\n let urlSource: string;\n if (process.env.CALIMERO_REGISTRY_URL) {\n urlSource = chalk.yellow('(from CALIMERO_REGISTRY_URL env var)');\n } else if (configFileExists) {\n urlSource = chalk.gray('(from config file)');\n } else {\n urlSource = chalk.gray('(default)');\n }\n console.log(` ${chalk.bold('Registry URL:')} ${url} ${urlSource}`);\n\n // API Key\n const apiKey = config.getApiKey();\n if (apiKey) {\n let apiKeySource: string;\n if (process.env.CALIMERO_API_KEY) {\n apiKeySource = chalk.yellow('(from CALIMERO_API_KEY env var)');\n } else if (configFileExists) {\n apiKeySource = chalk.gray('(from config file)');\n } else {\n apiKeySource = chalk.gray('(default)');\n }\n const masked =\n apiKey.length > 8\n ? `${apiKey.substring(0, 4)}...${apiKey.substring(apiKey.length - 4)}`\n : '***';\n console.log(` ${chalk.bold('API Key:')} ${masked} ${apiKeySource}`);\n } else {\n console.log(` ${chalk.bold('API Key:')} ${chalk.gray('(not set)')}`);\n }\n\n console.log(chalk.blue(`\\n📁 Config file: ${configPath}`));\n if (!configFileExists) {\n console.log(chalk.gray(' (file does not exist, using defaults)'));\n }\n console.log();\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n console.error(chalk.red('❌ Failed to list configuration:'), message);\n process.exit(1);\n }\n });\n}\n\nfunction createConfigResetCommand(): Command {\n return new Command('reset')\n .description('Reset configuration to defaults')\n .option('--force', 'Skip confirmation prompt')\n .action(options => {\n try {\n if (!options.force) {\n console.error(\n chalk.red('❌ Configuration reset requires --force flag')\n );\n console.log(\n chalk.yellow(\n '⚠️ This will reset all configuration to defaults. Use --force to confirm.'\n )\n );\n process.exit(1);\n }\n\n const config = new RemoteConfig();\n config.reset();\n\n console.log(chalk.green('✅ Configuration reset to defaults'));\n console.log(chalk.blue('\\nDefault values:'));\n console.log(' Registry URL: https://apps.calimero.network');\n console.log(' API Key: (not set)');\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n console.error(chalk.red('❌ Failed to reset configuration:'), message);\n process.exit(1);\n }\n });\n}\n","import { Command } from 'commander';\nimport chalk from 'chalk';\nimport { appsCommand } from './commands/apps.js';\nimport { developersCommand } from './commands/developers.js';\nimport { attestationsCommand } from './commands/attestations.js';\nimport { healthCommand } from './commands/health.js';\nimport { ipfsCommand } from './commands/ipfs.js';\nimport { localCommand } from './commands/local.js';\nimport { bundleCommand } from './commands/bundle.js';\nimport { configCommand } from './commands/config.js';\n\nconst program = new Command();\n\nprogram\n .name('calimero-registry')\n .description(\n 'Calimero Network App Registry CLI - Command-line interface for the App Registry'\n )\n .version('1.0.0');\n\n// Global help text with examples\nprogram.addHelpText(\n 'after',\n `\nExamples:\n $ calimero-registry apps list\n $ calimero-registry apps create --file manifest.json\n $ calimero-registry local start\n $ calimero-registry health --local\n\nFor more information, visit: https://github.com/calimero-network/app-registry\n`\n);\n\n// Global options\nprogram.option('-u, --url <url>', 'Registry API URL', 'http://localhost:8082');\nprogram.option(\n '-t, --timeout <timeout>',\n 'Request timeout in milliseconds',\n '10000'\n);\nprogram.option('--local', 'Use local registry instead of remote API');\n\n// Add commands\nprogram.addCommand(appsCommand);\nprogram.addCommand(developersCommand);\nprogram.addCommand(attestationsCommand);\nprogram.addCommand(healthCommand);\nprogram.addCommand(ipfsCommand);\nprogram.addCommand(localCommand);\nprogram.addCommand(bundleCommand);\nprogram.addCommand(configCommand);\n\n// Global error handler\nprogram.exitOverride();\n\ntry {\n program.parse();\n} catch (err) {\n if (err instanceof Error) {\n console.error(chalk.red('Error:'), err.message);\n } else {\n console.error(chalk.red('Unknown error occurred'));\n }\n process.exit(1);\n}\n"]}
|