@iobroker/js-controller-cli 7.1.0 → 7.1.1-alpha.29-20260402-93ef165ef
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.
|
@@ -35,7 +35,7 @@ var import_fs_extra = __toESM(require("fs-extra"), 1);
|
|
|
35
35
|
var import_node_path = __toESM(require("node:path"), 1);
|
|
36
36
|
var import_js_controller_common = require("@iobroker/js-controller-common");
|
|
37
37
|
var import_promisify_child_process = require("promisify-child-process");
|
|
38
|
-
var
|
|
38
|
+
var tar = __toESM(require("tar"), 1);
|
|
39
39
|
var import_setupUpload = require("./setupUpload.js");
|
|
40
40
|
var import_dbConnection = require("./dbConnection.js");
|
|
41
41
|
var import_customError = require("./customError.js");
|
|
@@ -194,7 +194,7 @@ class BackupRestore {
|
|
|
194
194
|
reject(new import_customError.IoBrokerError({ message: e.message, code: import_js_controller_common.EXIT_CODES.CANNOT_GZIP_DIRECTORY }));
|
|
195
195
|
});
|
|
196
196
|
try {
|
|
197
|
-
|
|
197
|
+
tar.create({ gzip: true, cwd: `${this.tmpDir}/` }, ["backup"]).pipe(f);
|
|
198
198
|
} catch (e) {
|
|
199
199
|
console.error(`host.${this.hostname} Cannot pack directory ${this.tmpDir}/backup: ${e.message}`);
|
|
200
200
|
reject(new import_customError.IoBrokerError({ message: e.message, code: import_js_controller_common.EXIT_CODES.CANNOT_GZIP_DIRECTORY }));
|
|
@@ -856,7 +856,7 @@ class BackupRestore {
|
|
|
856
856
|
import_fs_extra.default.unlinkSync(`${this.tmpDir}/backup/backup.json`);
|
|
857
857
|
}
|
|
858
858
|
try {
|
|
859
|
-
await
|
|
859
|
+
await tar.extract({
|
|
860
860
|
file: name,
|
|
861
861
|
cwd: this.tmpDir
|
|
862
862
|
});
|
|
@@ -997,7 +997,7 @@ class BackupRestore {
|
|
|
997
997
|
import_fs_extra.default.unlinkSync(import_node_path.default.join(backupBasePath, "backup.json"));
|
|
998
998
|
}
|
|
999
999
|
try {
|
|
1000
|
-
await
|
|
1000
|
+
await tar.extract({
|
|
1001
1001
|
file: name,
|
|
1002
1002
|
cwd: this.tmpDir
|
|
1003
1003
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/lib/setup/setupBackup.ts"],
|
|
4
|
-
"sourcesContent": ["import fs from 'fs-extra';\nimport path from 'node:path';\nimport { EXIT_CODES, tools } from '@iobroker/js-controller-common';\nimport { exec as execAsync } from 'promisify-child-process';\nimport tar from 'tar';\nimport type { Client as StatesRedisClient } from '@iobroker/db-states-redis';\nimport type { Client as ObjectsRedisClient } from '@iobroker/db-objects-redis';\nimport { Upload } from './setupUpload.js';\nimport type { CleanDatabaseHandler, ProcessExitCallback, RestartController } from '../_Types.js';\nimport { dbConnectAsync, resetDbConnect } from './dbConnection.js';\nimport { IoBrokerError } from './customError.js';\nimport { CLIProcess } from '@/lib/cli/cliProcess.js';\nimport { open, writeFile } from 'node:fs/promises';\n\nexport interface CLIBackupRestoreOptions {\n dbMigration?: boolean;\n states: StatesRedisClient;\n objects: ObjectsRedisClient;\n processExit: ProcessExitCallback;\n cleanDatabase: CleanDatabaseHandler;\n restartController: RestartController;\n}\n\ntype BackupObject = Omit<ioBroker.GetObjectListItem<ioBroker.Object>, 'doc'>;\n\nexport interface RestoreBackupReturnValue {\n /** Exit code of the process */\n exitCode: EXIT_CODES;\n /** The new states db connection after restore */\n states: StatesRedisClient;\n /** The new objects db connection after restore */\n objects: ObjectsRedisClient;\n}\n\ninterface RestoreAfterStopOptions {\n /** restart controller after restore */\n restartOnFinish: boolean;\n /** skip the controller version check */\n force: boolean;\n /** skip adapter deletion, e.g. for setup custom db migration */\n dontDeleteAdapters: boolean;\n}\n\ninterface Backup {\n config?: null | ioBroker.IoBrokerJson;\n objects: null | BackupObject[];\n states: Record<string, ioBroker.State>;\n}\n\ninterface PreprocessObjectOptions {\n /** The hostname */\n hostname: string;\n /** The object to preprocess */\n object: ioBroker.Object;\n /** If the host has a custom hostname */\n isCustomHostname: boolean;\n /** String to check if it is a sub object or state of this host (will not match the host object directly) */\n thisHostNameStartsWith: string;\n}\n\nexport interface RestoreBackupOptions {\n /** backup name, absolute path or index */\n name: string | number;\n /** if force flag is set, js-controller is allowed to have a different version */\n force: boolean;\n /** skip adapter deletion, e.g. for setup custom db migration */\n dontDeleteAdapters: boolean;\n}\n\nconst controllerDir = tools.getControllerDir();\n\nexport class BackupRestore {\n private readonly hostname = tools.getHostName();\n private readonly tmpDir = path.normalize(path.join(controllerDir, 'tmp'));\n private readonly bkpDir = path.normalize(path.join(controllerDir, 'backups'));\n private objects: ObjectsRedisClient;\n private states: StatesRedisClient;\n private readonly processExit: CLIBackupRestoreOptions['processExit'];\n private readonly restartController: CLIBackupRestoreOptions['restartController'];\n private readonly cleanDatabase: CLIBackupRestoreOptions['cleanDatabase'];\n private readonly dbMigration: boolean;\n /** these adapters will be reinstalled during restore, while others will be installed after next controller start */\n private readonly PRESERVE_ADAPTERS = ['admin', 'backitup'] as const;\n private upload: Upload;\n private configParts: string[];\n private readonly configDir: string;\n /** Placeholder inserted during backup creation if no custom hostname defined */\n private readonly HOSTNAME_PLACEHOLDER = '$$__hostname__$$';\n /** Same as HOSTNAME_PLACEHOLDER but used in replace method */\n private readonly HOSTNAME_PLACEHOLDER_REPLACE = '$$$$__hostname__$$$$';\n /** Regex to replace all occurrences of the HOSTNAME_PLACEHOLDER */\n private readonly HOSTNAME_PLACEHOLDER_REGEX = /\\$\\$__hostname__\\$\\$/g;\n /** Postfix for backup name */\n private readonly BACKUP_POSTFIX = `_backup${tools.appNameLowerCase}`;\n\n constructor(options: CLIBackupRestoreOptions) {\n options = options || {};\n\n if (!options.states) {\n throw new Error('Invalid arguments: states is missing');\n }\n if (!options.objects) {\n throw new Error('Invalid arguments: objects is missing');\n }\n if (!options.processExit) {\n throw new Error('Invalid arguments: processExit is missing');\n }\n if (!options.cleanDatabase) {\n throw new Error('Invalid arguments: cleanDatabase is missing');\n }\n if (!options.restartController) {\n throw new Error('Invalid arguments: restartController is missing');\n }\n\n this.objects = options.objects;\n this.states = options.states;\n this.processExit = options.processExit;\n this.cleanDatabase = options.cleanDatabase;\n this.restartController = options.restartController;\n this.dbMigration = options.dbMigration || false;\n\n this.upload = new Upload(options);\n\n this.configParts = tools.getConfigFileName().split('/');\n this.configParts.pop(); // remove *.json\n this.configDir = this.configParts.join('/'); // => name-data\n }\n\n // --------------------------------------- BACKUP ---------------------------------------------------\n private async _copyFile(id: string, srcPath: string, destPath: string): Promise<void> {\n try {\n const data = await this.objects.readFile(id, srcPath);\n if (data) {\n fs.writeFileSync(destPath, data.file);\n }\n } catch (err) {\n console.log(`Can not copy File ${id}${srcPath} to ${destPath}: ${err.message}`);\n }\n }\n\n async copyDir(id: string, srcPath: string, destPath: string): Promise<void> {\n fs.ensureDirSync(destPath);\n\n try {\n const res = await this.objects.readDirAsync(id, srcPath);\n if (res) {\n for (const entry of res) {\n if (entry.isDir) {\n await this.copyDir(id, `${srcPath}/${entry.file}`, `${destPath}/${entry.file}`);\n } else {\n fs.ensureDirSync(destPath);\n await this._copyFile(id, `${srcPath}/${entry.file}`, `${destPath}/${entry.file}`);\n }\n }\n }\n } catch (err) {\n if (!err.message.includes('Not exists')) {\n console.warn(`Directory ${id}/${srcPath} cannot be copied: ${err}`);\n }\n }\n }\n\n /**\n * Get the directory where backups should be stored\n */\n static getBackupDir(): string {\n return path.join(tools.getRootDir(), 'backups/');\n }\n\n copyFileSync(source: string, target: string): void {\n let targetFile = target;\n\n try {\n // if target is a directory a new file with the same name will be created\n if (fs.existsSync(target)) {\n if (fs.statSync(target).isDirectory()) {\n targetFile = path.join(target, path.basename(source));\n }\n }\n\n fs.writeFileSync(targetFile, fs.readFileSync(source));\n } catch (e) {\n console.error(`Could not copy ${targetFile} to ${source}: ${e.message}`);\n }\n }\n\n copyFolderRecursiveSync(source: string, target: string): void {\n let files = [];\n\n if (!fs.existsSync(target)) {\n fs.mkdirSync(target);\n }\n\n // check if folder needs to be created or integrated\n const targetFolder = path.join(target, path.basename(source));\n if (!fs.existsSync(targetFolder)) {\n fs.mkdirSync(targetFolder);\n }\n\n // copy\n if (fs.existsSync(source) && fs.statSync(source).isDirectory()) {\n files = fs.readdirSync(source);\n files.forEach(file => {\n const curSource = path.join(source, file);\n if (!fs.existsSync(curSource)) {\n return;\n }\n if (fs.statSync(curSource).isDirectory()) {\n this.copyFolderRecursiveSync(curSource, targetFolder);\n } else {\n this.copyFileSync(curSource, targetFolder);\n }\n });\n }\n }\n\n /**\n * Removes the temporary backup directory, never throws\n */\n private removeTempBackupDir(): void {\n try {\n fs.rmSync(path.join(this.tmpDir, 'backup'), { recursive: true, force: true });\n } catch (e) {\n console.error(`host.${this.hostname} Cannot clear temporary backup directory: ${e.message}`);\n }\n }\n\n /**\n * Pack and compress the backup\n *\n * @param name - backup name\n */\n private _packBackup(name: string): Promise<string> {\n return new Promise((resolve, reject) => {\n const f = fs.createWriteStream(name);\n f.on('finish', () => {\n this.removeTempBackupDir();\n resolve(path.normalize(name));\n });\n\n f.on('error', e => {\n console.error(`host.${this.hostname} Cannot pack directory ${this.tmpDir}/backup: ${e.message}`);\n reject(new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_GZIP_DIRECTORY }));\n });\n\n try {\n tar.create({ gzip: true, cwd: `${this.tmpDir}/` }, ['backup']).pipe(f);\n } catch (e) {\n console.error(`host.${this.hostname} Cannot pack directory ${this.tmpDir}/backup: ${e.message}`);\n reject(new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_GZIP_DIRECTORY }));\n }\n });\n }\n\n /**\n * Creates backup and stores with given name\n *\n * @param name - name of the backup\n * @param noConfig - do not store configs (used by setup custom migration)\n */\n async createBackup(name: string, noConfig = false): Promise<string> {\n if (!name) {\n const d = new Date();\n name = `${d.getFullYear()}_${`0${d.getMonth() + 1}`.slice(-2)}_${`0${d.getDate()}`.slice(-2)}-${`0${d.getHours()}`.slice(\n -2,\n )}_${`0${d.getMinutes()}`.slice(-2)}_${`0${d.getSeconds()}`.slice(-2)}${this.BACKUP_POSTFIX}`;\n } else if (!name.endsWith(this.BACKUP_POSTFIX) && !name.endsWith(`${this.BACKUP_POSTFIX}.tar.gz`)) {\n name += this.BACKUP_POSTFIX;\n }\n\n name = name.toString().replace(/\\\\/g, '/');\n if (!name.includes('/')) {\n const backupPath = BackupRestore.getBackupDir();\n\n // create directory if not exists\n fs.ensureDirSync(backupPath);\n\n if (!name.includes('.tar.gz')) {\n name = `${backupPath + name}.tar.gz`;\n } else {\n name = backupPath + name;\n }\n }\n\n const hostname = tools.getHostName();\n // String to check if it is a sub object or state of this host (will not match the host object directly)\n const thisHostNameStartsWith = `system.host.${hostname}.`;\n\n fs.ensureDirSync(this.bkpDir);\n fs.ensureDirSync(this.tmpDir);\n\n this.removeTempBackupDir();\n\n const backupBasePath = path.join(this.tmpDir, 'backup');\n fs.ensureDirSync(backupBasePath);\n fs.ensureDirSync(path.join(backupBasePath, 'files'));\n\n let isCustomHostname = false;\n let config: ioBroker.IoBrokerJson | undefined;\n\n // read iobroker.json\n try {\n config = (await fs.readJSON(tools.getConfigFileName())) as ioBroker.IoBrokerJson;\n // if a hostname is configured\n isCustomHostname = !!config.system.hostname;\n } catch (e) {\n console.error(`host.${hostname} Cannot read config file: ${e.message}`);\n }\n\n if (!noConfig && config) {\n await writeFile(path.join(backupBasePath, 'config.json'), JSON.stringify(config), { encoding: 'utf-8' });\n }\n\n const objectsFd = await open(path.join(backupBasePath, 'objects.jsonl'), 'a');\n\n try {\n const res = await this.objects.getObjectListAsync({ include_docs: true });\n for (const row of res.rows) {\n const preprocessedValue = await this._preprocessObject({\n object: row.value,\n isCustomHostname,\n hostname,\n thisHostNameStartsWith,\n });\n await objectsFd.write(`${JSON.stringify(preprocessedValue)}\\n`);\n }\n\n console.log(`host.${hostname} ${res.rows.length || 'no'} objects saved`);\n } catch (e) {\n console.error(`host.${hostname} Cannot get objects: ${e.message}`);\n }\n\n await objectsFd.close();\n\n const statesFd = await open(path.join(backupBasePath, 'states.jsonl'), 'a');\n\n try {\n const keys = await this.states.getKeys('*');\n const objs = await this.states.getStates(keys!);\n\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const obj = objs[i];\n\n if (!obj) {\n continue;\n }\n\n if (!isCustomHostname) {\n // if it's a default hostname, we will have a new default after restore and need to replace\n if (obj.from === `system.host.${hostname}`) {\n obj.from.replace(\n `system.host.${hostname}`,\n `system.host.${this.HOSTNAME_PLACEHOLDER_REPLACE}`,\n );\n }\n if (keys[i].startsWith(thisHostNameStartsWith)) {\n keys[i] = keys[i].replace(hostname, this.HOSTNAME_PLACEHOLDER_REPLACE);\n }\n }\n\n await statesFd.write(`${JSON.stringify({ id: keys[i], state: obj })}\\n`);\n }\n\n await statesFd.close();\n console.log(`host.${hostname} ${keys.length} states saved`);\n }\n } catch (e) {\n console.error(`host.${hostname} Cannot get states: ${e.message}`);\n }\n\n console.log(`host.${hostname} Validating backup ...`);\n try {\n await this._validateTempDirectory(noConfig);\n console.log(`host.${hostname} The backup is valid!`);\n\n return await this._packBackup(name);\n } catch (e) {\n console.error(`host.${hostname} Backup not created: ${e.message}`);\n this.removeTempBackupDir();\n\n if (e instanceof IoBrokerError) {\n throw e;\n }\n\n throw new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP });\n }\n }\n\n //--------------------------------------- RESTORE ---------------------------------------------------\n /**\n * Helper to restore raw state\n *\n * @param stateId - state ID\n * @param stateObject - the corresponding state object\n */\n private async _setStateHelper(stateId: string, stateObject: ioBroker.State): Promise<void> {\n try {\n await this.states.setRawState(stateId, stateObject);\n } catch (e) {\n console.log(`host.${this.hostname} Could not set value for state ${stateId}: ${e.message}`);\n }\n }\n\n /**\n * Sets all objects to the db and disables all adapters\n *\n * @param object - object to be set\n */\n private async _setObjHelper(object: ioBroker.Object): Promise<void> {\n // Disable all adapters.\n if (\n !this.dbMigration &&\n object._id &&\n /^system\\.adapter\\..+\\.\\d$/.test(object._id) &&\n !object._id.startsWith('system.adapter.admin.') &&\n !object._id.startsWith('system.adapter.backitup.')\n ) {\n if (object.common?.enabled) {\n object.common.enabled = false;\n }\n }\n\n try {\n await this.objects.setObject(object._id, object);\n } catch (e) {\n console.warn(`host.${this.hostname} Cannot restore ${object._id}: ${e.message}`);\n }\n }\n\n /**\n * Creates all provided object if non-existing\n *\n * @param objectList - list of objects to be created\n */\n private async _reloadAdapterObject(objectList: ioBroker.Object[]): Promise<void> {\n if (!Array.isArray(objectList)) {\n return;\n }\n\n for (const object of objectList) {\n let obj;\n try {\n obj = await this.objects.getObject(object._id);\n } catch {\n // ignore\n }\n\n if (!obj) {\n // object not existing -> create it\n try {\n await this.objects.setObject(object._id, object);\n console.log(`host.${this.hostname} object ${object._id} created`);\n } catch {\n // ignore\n }\n }\n }\n }\n\n private async _reloadAdaptersObjects(): Promise<void> {\n const dirs: string[] = [];\n let _modules;\n let p = path.join(controllerDir, 'node_modules');\n\n if (p.includes('js-controller')) {\n p = path.join(controllerDir, '..', 'node_modules');\n }\n\n if (fs.existsSync(p)) {\n _modules = fs.readdirSync(p).filter(dir => fs.existsSync(`${p}/${dir}/io-package.json`));\n if (_modules) {\n const regEx = new RegExp(`^${tools.appName}\\\\.`, 'i');\n for (const module of _modules) {\n if (regEx.test(module) && !dirs.includes(module.substring(tools.appName.length + 1))) {\n dirs.push(module);\n }\n }\n }\n }\n\n // if installed as npm\n if (\n fs.existsSync(\n path.join(controllerDir, '..', '..', 'node_modules', `${tools.appName.toLowerCase()}.js-controller`),\n )\n ) {\n const p = path.join(controllerDir, '..');\n _modules = fs.readdirSync(p).filter(dir => fs.existsSync(`${p}/${dir}/io-package.json`));\n const regEx_ = new RegExp(`^${tools.appName}\\\\.`, 'i');\n for (const module of _modules) {\n // if starting from application name + '.'\n if (\n regEx_.test(module) &&\n // If not js-controller\n module.substring(tools.appName.length + 1) !== 'js-controller' &&\n !dirs.includes(module.substring(tools.appName.length + 1))\n ) {\n dirs.push(module);\n }\n }\n }\n\n for (const dir of dirs) {\n const adapterName = dir.replace(/^iobroker\\./i, '');\n await this.upload.uploadAdapter(adapterName, false, true);\n await this.upload.uploadAdapter(adapterName, true, true);\n\n let pkg;\n\n if (!dir) {\n console.error('Wrong');\n }\n const adapterDir = tools.getAdapterDir(adapterName);\n if (fs.existsSync(`${adapterDir}/io-package.json`)) {\n pkg = fs.readJSONSync(`${adapterDir}/io-package.json`);\n }\n\n if (pkg?.objects?.length) {\n console.log(`host.${this.hostname} Setup \"${dir}\" adapter`);\n await this._reloadAdapterObject(pkg.objects);\n }\n }\n }\n\n private async _uploadUserFiles(root: string, uploadPath?: string): Promise<void> {\n uploadPath = uploadPath || '';\n if (!fs.existsSync(root)) {\n return;\n }\n const files = fs.readdirSync(root + uploadPath);\n for (const file of files) {\n const fName = path.join(root, uploadPath, file);\n if (!fs.existsSync(fName)) {\n continue;\n }\n const stat = fs.statSync(fName);\n if (stat.isDirectory()) {\n try {\n await this._uploadUserFiles(root, `${uploadPath}/${file}`);\n } catch (err) {\n console.error(`Error: ${err}`);\n }\n } else {\n const parts = uploadPath.split('/');\n const adapter = parts.splice(0, 2)[1];\n const _path = `${parts.join('/')}/${file}`;\n console.log(`host.${this.hostname} Upload user file \"${adapter}/${_path}`);\n try {\n await this.objects.writeFileAsync(adapter, _path, fs.readFileSync(`${root + uploadPath}/${file}`));\n } catch (err) {\n console.error(`Error: ${err.message}`);\n }\n }\n }\n }\n\n /**\n * Preprocess object before storing it in the backup file\n *\n * @param options object and host information\n */\n private async _preprocessObject(options: PreprocessObjectOptions): Promise<ioBroker.Object> {\n const { object, isCustomHostname, hostname, thisHostNameStartsWith } = options;\n\n if (!object || !object._id || !object.common) {\n return object;\n }\n\n if (!isCustomHostname) {\n if (object._id.match(/^system\\.adapter\\.([\\w\\d_-]+).(\\d+)$/) && object.common.host === hostname) {\n object.common.host = this.HOSTNAME_PLACEHOLDER;\n object.common.host = this.HOSTNAME_PLACEHOLDER;\n } else if (object._id.startsWith(thisHostNameStartsWith)) {\n object._id = object._id.replace(hostname, this.HOSTNAME_PLACEHOLDER_REPLACE);\n } else if (object._id === `system.host.${hostname}`) {\n object._id = `system.host.${this.HOSTNAME_PLACEHOLDER}`;\n object.common.name = object._id;\n object.common.hostname = this.HOSTNAME_PLACEHOLDER;\n if (object.native && object.native.os) {\n object.native.os.hostname = this.HOSTNAME_PLACEHOLDER;\n }\n\n object.common.name = object._id;\n object.common.hostname = this.HOSTNAME_PLACEHOLDER;\n if (object.native?.os) {\n object.native.os.hostname = this.HOSTNAME_PLACEHOLDER;\n }\n }\n }\n\n // Read all files\n if (object.type === 'meta' && object.common?.type === 'meta.user') {\n // do not process \"xxx.0. \" and \"xxx.0.\"\n if (object._id.trim() === object._id && object._id[object._id.length - 1] !== '.') {\n await this.copyDir(object._id, '', `${this.tmpDir}/backup/files/${object._id}`);\n }\n }\n\n // Read all files\n if (object.type === 'instance' && object.common?.dataFolder) {\n let dataFolderPath = object.common.dataFolder;\n\n if (dataFolderPath[0] !== '/' && !dataFolderPath.match(/^\\w:/)) {\n dataFolderPath = path.join(this.configDir, dataFolderPath);\n }\n\n if (fs.existsSync(dataFolderPath)) {\n try {\n this.copyFolderRecursiveSync(dataFolderPath, `${this.tmpDir}/backup`);\n } catch (e) {\n console.error(`host.${hostname} Could not backup \"${dataFolderPath}\" directory: ${e.message}`);\n this.removeTempBackupDir();\n throw new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_COPY_DIR });\n }\n }\n }\n\n return object;\n }\n\n private _copyBackupedFiles(backupDir: string): void {\n try {\n if (!fs.existsSync(backupDir)) {\n console.log('No additional files to restore');\n return;\n }\n const dirs = fs.readdirSync(backupDir);\n\n dirs.forEach(dir => {\n if (dir === 'files') {\n return;\n }\n const backupPath = path.join(backupDir, dir);\n let stat;\n try {\n if (!fs.existsSync(backupPath)) {\n return;\n }\n stat = fs.statSync(backupPath);\n } catch (e) {\n console.error(`Ignoring ${backupPath} because can not get file type: ${e.message}`);\n return;\n }\n if (stat.isDirectory()) {\n this.copyFolderRecursiveSync(backupPath, this.configDir);\n }\n });\n } catch (e) {\n console.error(`Ignoring ${backupDir} because can not read directory: ${e.message}`);\n }\n }\n\n /**\n * Restore JSONL backup after controller has been stopped\n *\n * @param options The restore options\n */\n private async _restoreJsonlBackup(options: RestoreAfterStopOptions): Promise<EXIT_CODES> {\n const { force, dontDeleteAdapters } = options;\n const hostname = tools.getHostName();\n\n const backupBaseDir = path.join(this.tmpDir, 'backup');\n\n let backupHostName = hostname;\n // Note: on backups created during migration no config exists\n let config: ioBroker.IoBrokerJson | undefined;\n\n if (await fs.pathExists(path.join(backupBaseDir, 'config.json'))) {\n config = (await fs.readJSON(path.join(backupBaseDir, 'config.json'))) as ioBroker.IoBrokerJson;\n backupHostName = config.system?.hostname || hostname;\n }\n\n // we need to find the host obj for the compatibility check\n const objFd = await open(path.join(backupBaseDir, 'objects.jsonl'));\n const rlObj = objFd.readLines();\n\n const hostObjArr: BackupObject[] = [];\n\n for await (let line of rlObj) {\n line = line.replace(this.HOSTNAME_PLACEHOLDER_REGEX, hostname);\n const obj: ioBroker.Object = JSON.parse(line);\n if (obj._id === `system.host.${backupHostName}`) {\n hostObjArr.push({ id: obj._id, value: obj });\n break;\n }\n }\n\n await objFd.close();\n\n // check that the same controller version is installed as it is contained in backup\n const exitCode = this._ensureCompatibility(controllerDir, backupHostName, hostObjArr, force);\n\n if (exitCode) {\n // we had an error\n return exitCode;\n }\n\n if (!dontDeleteAdapters) {\n // prevent having wrong versions of adapters\n await this._removeAllAdapters();\n }\n\n // restore ioBroker.json\n if (config) {\n fs.writeFileSync(tools.getConfigFileName(), JSON.stringify(config, null, 2));\n await this.connectToNewDatabase(config);\n }\n\n console.log(`host.${hostname} Clear all objects and states...`);\n await this.cleanDatabase(false);\n console.log(`host.${hostname} done.`);\n\n const objectsFd = await open(path.join(backupBaseDir, 'objects.jsonl'));\n const rlObjects = objectsFd.readLines();\n\n let count = 0;\n\n for await (let line of rlObjects) {\n line = line.replace(this.HOSTNAME_PLACEHOLDER_REGEX, hostname);\n const obj: ioBroker.Object = JSON.parse(line);\n await this._setObjHelper(obj);\n count++;\n }\n\n console.log(`${count} objects restored.`);\n\n await objectsFd.close();\n\n const statesFd = await open(path.join(backupBaseDir, 'states.jsonl'));\n const rlStates = statesFd.readLines();\n\n count = 0;\n\n for await (let line of rlStates) {\n line = line.replace(this.HOSTNAME_PLACEHOLDER_REGEX, hostname);\n const state: {\n id: string;\n state: ioBroker.State;\n } = JSON.parse(line);\n await this._setStateHelper(state.id, state.state);\n count++;\n }\n\n console.log(`${count} states restored.`);\n\n await statesFd.close();\n\n return EXIT_CODES.NO_ERROR;\n }\n\n /**\n * Restore after controller has been stopped\n *\n * @param options The restore options\n */\n private async _restoreAfterStop(options: RestoreAfterStopOptions): Promise<EXIT_CODES> {\n const { force, restartOnFinish, dontDeleteAdapters } = options;\n\n const backupBaseDir = path.join(this.tmpDir, 'backup');\n const isJsonl = await fs.pathExists(path.join(backupBaseDir, 'objects.jsonl'));\n\n if (isJsonl) {\n const exitCode = await this._restoreJsonlBackup(options);\n if (exitCode !== EXIT_CODES.NO_ERROR) {\n return exitCode;\n }\n } else {\n const hostname = tools.getHostName();\n console.log(`host.${hostname} Restore legacy backup.`);\n\n // Open file\n let data = fs.readFileSync(path.join(backupBaseDir, 'backup.json'), 'utf8');\n // replace all hostnames of instances etc with the new host\n data = data.replace(this.HOSTNAME_PLACEHOLDER_REGEX, hostname);\n fs.writeFileSync(path.join(backupBaseDir, 'backup_.json'), data);\n let restore: Backup;\n try {\n restore = JSON.parse(data);\n } catch (e) {\n console.error(`Cannot parse \"${path.join(backupBaseDir, 'backup_.json')}\": ${e.message}`);\n return EXIT_CODES.CANNOT_RESTORE_BACKUP;\n }\n\n if (!restore.objects) {\n console.error('The backup does not contain any objects.');\n return EXIT_CODES.CANNOT_RESTORE_BACKUP;\n }\n\n // check that the same controller version is installed as it is contained in backup\n const exitCode = this._ensureCompatibility(\n controllerDir,\n restore.config?.system?.hostname || hostname,\n restore.objects,\n force,\n );\n\n if (exitCode) {\n // we had an error\n return exitCode;\n }\n\n if (!dontDeleteAdapters) {\n // prevent having wrong versions of adapters\n await this._removeAllAdapters();\n }\n\n // restore ioBroker.json\n if (restore.config) {\n fs.writeFileSync(tools.getConfigFileName(), JSON.stringify(restore.config, null, 2));\n await this.connectToNewDatabase(restore.config);\n }\n\n console.log(`host.${hostname} Clear all objects and states...`);\n await this.cleanDatabase(false);\n console.log(`host.${hostname} done.`);\n\n const sList = Object.keys(restore.states);\n\n for (let i = 0; i < restore.objects.length; i++) {\n await this._setObjHelper(restore.objects[i].value);\n if (i % 200 === 0) {\n console.log(`host.${this.hostname} Processed ${i}/${restore.objects.length} objects`);\n }\n }\n\n console.log(`${restore.objects.length} objects restored.`);\n for (let i = 0; i < sList.length; i++) {\n const id = sList[i];\n await this._setStateHelper(id, restore.states[id]);\n if (i % 200 === 0) {\n console.log(`host.${this.hostname} Processed ${i}/${sList.length} states`);\n }\n }\n\n console.log(`${sList.length} states restored.`);\n }\n\n // Load user files into DB\n await this._uploadUserFiles(path.join(backupBaseDir, 'files'));\n // reload objects of adapters (if some couldn't be removed - normally this shouldn't be necessary anymore)\n await this._reloadAdaptersObjects();\n // Reload host objects\n const packageIO = fs.readJSONSync(path.join(controllerDir, 'io-package.json'));\n await this._reloadAdapterObject(packageIO ? packageIO.objects : null);\n // copy all files into iob-data\n this._copyBackupedFiles(backupBaseDir);\n // reinstall preserve adapters\n await this._restorePreservedAdapters();\n\n if (force) {\n // js-controller version has changed (setup never called for this version)\n console.log('Forced restore - executing setup ...');\n try {\n await execAsync(\n `\"${process.execPath}\" \"${path.join(controllerDir, `${tools.appName.toLowerCase()}.js`)}\" setup`,\n );\n } catch (e) {\n console.error(\n `Could not execute \"setup\" command, please ensure \"setup\" is called before starting ioBroker: ${e.message}`,\n );\n }\n }\n\n if (restartOnFinish) {\n console.log('restart');\n this.restartController();\n }\n\n return EXIT_CODES.NO_ERROR;\n }\n\n /**\n * Connects to the database which is configured in `iobroker.json`\n * Meant to be used after the configuration file has been overwritten\n *\n * @param config The new config, needed for logging purposes\n */\n private async connectToNewDatabase(config: ioBroker.IoBrokerJson): Promise<void> {\n console.log(\n `host.${this.hostname} Connecting to new DB \"${config.states.type}/${config.objects.type}\" (can take up to 20s) ...`,\n );\n await resetDbConnect();\n const { objects, states } = await dbConnectAsync(false);\n console.log(`host.${this.hostname} Successfully connected to new DB`);\n\n this.upload = new Upload({ states, objects });\n\n this.objects = objects;\n this.states = states;\n }\n\n /**\n * Removes all adapters\n */\n private async _removeAllAdapters(): Promise<void> {\n const nodeModulePath = path.join(controllerDir, '..');\n const nodeModuleDirs = fs.readdirSync(nodeModulePath, { withFileTypes: true });\n // we need to uninstall current adapters to get exact the same system as before backup\n for (const dir of nodeModuleDirs) {\n if (\n dir.isDirectory() &&\n dir.name.startsWith(`${tools.appName.toLowerCase()}.`) &&\n dir.name !== `${tools.appName.toLowerCase()}.js-controller`\n ) {\n try {\n const packJson = fs.readJsonSync(path.join(nodeModulePath, dir.name, 'package.json'));\n console.log(`Removing current installation of ${packJson.name}`);\n await tools.uninstallNodeModule(packJson.name);\n } catch {\n // ignore\n }\n }\n }\n }\n\n /**\n * Ensure that installed controller version matches version in backup\n *\n * @param controllerDir - directory of js-controller\n * @param backupHostname - hostname in backup file\n * @param backupObjects - the objects contained in the backup\n * @param force - if force is true, only log\n */\n private _ensureCompatibility(\n controllerDir: string,\n backupHostname: string,\n backupObjects: BackupObject[],\n force: boolean,\n ): void | number {\n try {\n const ioPackJson = fs.readJsonSync(path.join(controllerDir, 'io-package.json'));\n const hostObj = backupObjects.find(obj => obj.id === `system.host.${backupHostname}`);\n\n if (!hostObj) {\n console.error('No host object found, your backup seems to be corrupted!');\n return EXIT_CODES.CANNOT_RESTORE_BACKUP;\n }\n\n if (hostObj.value.common.installedVersion !== ioPackJson.common.version) {\n if (!force) {\n console.warn('The current version of js-controller differs from the version in the backup.');\n console.warn('The js-controller version of the backup can not be restored automatically.');\n console.warn(\n `To restore the js-controller version of the backup, execute \"npm i iobroker.js-controller@${hostObj.value.common.installedVersion} --omit=dev\" inside your ioBroker directory`,\n );\n console.warn(\n 'If you really want to restore the backup with the current installed js-controller, execute the restore command with the --force flag',\n );\n\n return EXIT_CODES.CANNOT_RESTORE_BACKUP;\n }\n console.info('The current version of js-controller differs from the version in the backup.');\n console.info('The js-controller version of the backup can not be restored automatically.');\n console.info('Note, that your backup might differ in behavior due to this version change!');\n }\n } catch {\n // ignore\n }\n }\n\n /**\n * Returns all backups as array\n */\n listBackups(): string[] {\n const dir = BackupRestore.getBackupDir();\n const result: string[] = [];\n if (fs.existsSync(dir)) {\n const files = fs.readdirSync(dir);\n for (const file of files) {\n if (file.match(/\\.tar\\.gz$/i)) {\n result.push(file);\n }\n }\n return result;\n }\n return result;\n }\n\n /**\n * Validates a JSONL-style backup and all json files inside the backup (in temporary directory)\n *\n * @param noConfig if the backup does not contain a `config.json` (used by setup custom migration)\n */\n private async _validateTempDirectory(noConfig = false): Promise<void> {\n const backupBaseDir = path.join(this.tmpDir, 'backup');\n\n if (!noConfig) {\n await fs.readJSON(path.join(backupBaseDir, 'config.json'));\n console.log(`host.${this.hostname} \"config.json\" is valid`);\n }\n\n if (!(await fs.pathExists(path.join(backupBaseDir, 'objects.jsonl')))) {\n throw new Error('Backup does not contain valid objects');\n }\n\n console.log(`host.${this.hostname} \"objects.jsonl\" exists`);\n\n if (!(await fs.pathExists(path.join(backupBaseDir, 'states.jsonl')))) {\n throw new Error('Backup does not contain valid states');\n }\n\n console.log(`host.${this.hostname} \"states.jsonl\" exists`);\n\n await this._validateDatabaseFiles();\n\n console.log(`host.${this.hostname} JSONL lines are valid`);\n\n // we check all other json files, we assume them as optional, because user created files may be no valid json\n try {\n this._checkDirectory(path.join(backupBaseDir, 'files'));\n } catch (e) {\n console.warn(`host.${this.hostname} One or more optional files are corrupted: ${e.message}`);\n console.warn(`host.${this.hostname} Please ensure that self-created JSON files are valid`);\n }\n }\n\n /**\n * Validate that the created JSONL files in the temporary directories are parseable\n */\n private async _validateDatabaseFiles(): Promise<void> {\n const backupBaseDir = path.join(this.tmpDir, 'backup');\n\n const objectsFd = await open(path.join(backupBaseDir, 'objects.jsonl'));\n const rlObjects = objectsFd.readLines();\n\n for await (const line of rlObjects) {\n try {\n JSON.parse(line);\n } catch (e) {\n throw new Error(`The \"objects.jsonl\" file is corrupted: ${e.message}`);\n }\n }\n\n await objectsFd.close();\n\n const statesFd = await open(path.join(backupBaseDir, 'states.jsonl'));\n const rlStates = statesFd.readLines();\n\n for await (const line of rlStates) {\n try {\n JSON.parse(line);\n } catch (e) {\n throw new Error(`The \"states.jsonl\" file is corrupted: ${e.message}`);\n }\n }\n\n await statesFd.close();\n }\n\n /**\n * Validates the given backup.json and all json files in the backup, calls processExit afterwards\n *\n * @param _name - index or name of the backup\n */\n async validateBackup(_name: string | number): Promise<void> {\n let backups;\n let name = typeof _name === 'number' ? _name.toString() : _name;\n\n if (!name) {\n backups = this.listBackups();\n backups.sort((a, b) => (b > a ? 1 : b === a ? 0 : -1));\n if (backups.length) {\n // List all available backups\n console.log('Please specify one of the backup names:');\n\n for (const t in backups) {\n console.log(`${backups[t]} or ${backups[t].replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${t}`);\n }\n } else {\n console.warn(`No backups found. Create a backup, using \"${tools.appName} backup\" first`);\n }\n throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });\n }\n // If number\n if (parseInt(name, 10).toString() === name.toString()) {\n backups = this.listBackups();\n backups.sort((a, b) => (b > a ? 1 : b === a ? 0 : -1));\n name = backups[parseInt(name, 10)];\n if (!name) {\n console.log('No matching backup found');\n if (backups.length) {\n console.log('Please specify one of the backup names:');\n for (const t in backups) {\n console.log(\n `${backups[t]} or ${backups[t].replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${t}`,\n );\n }\n } else {\n console.log(`No existing backups. Create a backup, using \"${tools.appName} backup\" first`);\n }\n\n throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });\n }\n console.log(`host.${this.hostname} Using backup file ${name}`);\n }\n\n name = name.toString().replace(/\\\\/g, '/');\n if (!name.includes('/')) {\n name = BackupRestore.getBackupDir() + name;\n const regEx = new RegExp(this.BACKUP_POSTFIX, 'i');\n if (!regEx.test(name)) {\n name += this.BACKUP_POSTFIX;\n }\n if (!name.match(/\\.tar\\.gz$/i)) {\n name += '.tar.gz';\n }\n }\n if (!fs.existsSync(name)) {\n console.error(`host.${this.hostname} Cannot find ${name}`);\n throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });\n }\n\n if (fs.existsSync(`${this.tmpDir}/backup/backup.json`)) {\n fs.unlinkSync(`${this.tmpDir}/backup/backup.json`);\n }\n\n try {\n await tar.extract({\n file: name,\n cwd: this.tmpDir,\n });\n } catch (e) {\n const errMessage = `Cannot extract from file \"${name}\": ${e.message}`;\n console.error(`host.${this.hostname} ${errMessage}`);\n throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });\n }\n\n try {\n if (fs.existsSync(path.join(this.tmpDir, 'backup', 'backup.json'))) {\n this._validateLegacyTempDir();\n } else {\n await this._validateTempDirectory();\n }\n } catch (e) {\n console.error(`host.${this.hostname} ${e.message}`);\n\n try {\n this.removeTempBackupDir();\n } catch (e) {\n console.error(`host.${this.hostname} Cannot clear temporary backup directory: ${e.message}`);\n }\n\n throw new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP });\n }\n\n try {\n this.removeTempBackupDir();\n } catch (e) {\n console.error(`host.${this.hostname} Cannot clear temporary backup directory: ${e.message}`);\n throw new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP });\n }\n }\n\n /**\n * Validate an unpacked legacy backup in the temporary directory\n */\n private _validateLegacyTempDir(): void {\n console.log(`host.${this.hostname} Starting validation ...`);\n let backupJSON;\n try {\n backupJSON = fs.readJSONSync(`${this.tmpDir}/backup/backup.json`);\n } catch (e) {\n throw new Error(`Backup corrupted. Backup does not contain a valid backup.json file: ${e.message}`);\n }\n\n if (!backupJSON || !backupJSON.objects || !backupJSON.objects.length) {\n throw new Error(`host.${this.hostname} Backup corrupted. Backup does not contain valid objects`);\n }\n\n console.log(`host.${this.hostname} backup.json OK`);\n\n try {\n this._checkDirectory(`${this.tmpDir}/backup/files`, true);\n } catch (e) {\n throw new Error(`Backup corrupted: ${e.message}`);\n }\n }\n\n /**\n * Checks a directory for json files and validates them, steps down recursive in subdirectories\n *\n * @param path - path to the directory\n * @param verbose - if logging should be verbose\n */\n private _checkDirectory(path: string, verbose = false): void {\n if (fs.existsSync(path)) {\n const files = fs.readdirSync(path);\n if (!files.length) {\n return;\n }\n for (const file of files) {\n const filePath = `${path}/${file}`;\n if (fs.existsSync(filePath) && fs.statSync(filePath).isDirectory()) {\n // if directory then check it\n this._checkDirectory(filePath, verbose);\n } else if (file.endsWith('.json')) {\n try {\n fs.readJSONSync(filePath);\n if (verbose) {\n console.log(`host.${this.hostname} ${file} OK`);\n }\n } catch {\n throw new Error(`host.${this.hostname} ${filePath} is not a valid json file`);\n }\n }\n }\n }\n }\n\n /**\n * Restores a backup\n *\n * @param options Restore options\n */\n async restoreBackup(options: RestoreBackupOptions): Promise<RestoreBackupReturnValue> {\n const { name: _name, dontDeleteAdapters, force } = options;\n\n let backups;\n let name = typeof _name === 'number' ? _name.toString() : _name;\n\n if (!name) {\n // List all available backups\n console.log('Please specify one of the backup names:');\n backups = this.listBackups();\n backups.sort((a, b) => (b > a ? 1 : b === a ? 0 : -1));\n if (backups.length) {\n backups.forEach((backup, i) =>\n console.log(`${backup} or ${backup.replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${i}`),\n );\n } else {\n console.warn('No backups found');\n }\n return { exitCode: EXIT_CODES.INVALID_ARGUMENTS, objects: this.objects, states: this.states };\n }\n\n if (!this.cleanDatabase) {\n throw new Error('Invalid arguments: cleanDatabase is missing');\n }\n if (!this.restartController) {\n throw new Error('Invalid arguments: restartController is missing');\n }\n\n // If number\n if (parseInt(name, 10).toString() === name.toString()) {\n backups = this.listBackups();\n backups.sort((a, b) => (b > a ? 1 : b === a ? 0 : -1));\n name = backups[parseInt(name, 10)];\n if (!name) {\n console.log('No matching backup found');\n if (backups.length) {\n console.log('Please specify one of the backup names:');\n backups.forEach((backup, i) =>\n console.log(`${backup} or ${backup.replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${i}`),\n );\n }\n return { exitCode: EXIT_CODES.INVALID_ARGUMENTS, objects: this.objects, states: this.states };\n }\n console.log(`host.${this.hostname} Using backup file ${name}`);\n }\n\n name = name.toString().replace(/\\\\/g, '/');\n if (!name.includes('/')) {\n name = BackupRestore.getBackupDir() + name;\n const regEx = new RegExp(this.BACKUP_POSTFIX, 'i');\n if (!regEx.test(name)) {\n name += this.BACKUP_POSTFIX;\n }\n if (!name.match(/\\.tar\\.gz$/i)) {\n name += '.tar.gz';\n }\n }\n if (!fs.existsSync(name)) {\n console.error(`host.${this.hostname} Cannot find ${name}`);\n return { exitCode: EXIT_CODES.INVALID_ARGUMENTS, objects: this.objects, states: this.states };\n }\n\n const backupBasePath = path.join(this.tmpDir, 'backup');\n\n // delete /backup/backup.json\n if (fs.existsSync(path.join(backupBasePath, 'backup.json'))) {\n fs.unlinkSync(path.join(backupBasePath, 'backup.json'));\n }\n\n try {\n await tar.extract({\n file: name,\n cwd: this.tmpDir,\n });\n } catch (e) {\n console.error(`host.${this.hostname} Cannot extract from file \"${name}\": ${e.message}`);\n return { exitCode: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP, objects: this.objects, states: this.states };\n }\n\n if (\n !(await fs.pathExists(path.join(backupBasePath, 'backup.json'))) &&\n !(await fs.pathExists(path.join(backupBasePath, 'objects.jsonl')))\n ) {\n console.error(\n `host.${this.hostname} Cannot find extracted file \"${path.join(backupBasePath, 'backup.json')}\" or \"${path.join(backupBasePath, 'objects.jsonl')}\"`,\n );\n return { exitCode: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP, objects: this.objects, states: this.states };\n }\n\n await CLIProcess.stopJSController();\n const exitCode = await this._restoreAfterStop({\n restartOnFinish: false,\n force,\n dontDeleteAdapters,\n });\n\n this.removeTempBackupDir();\n\n return { exitCode, objects: this.objects, states: this.states };\n }\n\n /**\n * This method checks if adapter of PRESERVE_ADAPTERS exists, and re-installs them if this is the case\n */\n private async _restorePreservedAdapters(): Promise<void> {\n for (const adapterName of this.PRESERVE_ADAPTERS) {\n try {\n const adapterObj = await this.objects.getObject(`system.adapter.${adapterName}`);\n if (adapterObj?.common?.version) {\n let installSource;\n if (adapterObj.common.installedFrom) {\n installSource = adapterObj.common.installedFrom;\n } else {\n installSource = `${tools.appName.toLowerCase()}.${adapterName}@${adapterObj.common.version}`;\n }\n\n console.log(`Reinstalling adapter \"${adapterName}\" from \"${installSource}\"`);\n const res = await tools.installNodeModule(installSource);\n\n if (!res.success) {\n console.error(`Could not install adapter \"${adapterName}\" (${res.exitCode}): ${res.stderr}`);\n }\n }\n } catch (e) {\n console.error(`Could not ensure existence of adapter \"${adapterName}\": ${e.message}`);\n }\n }\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["path", "fs", "
|
|
4
|
+
"sourcesContent": ["import fs from 'fs-extra';\nimport path from 'node:path';\nimport { EXIT_CODES, tools } from '@iobroker/js-controller-common';\nimport { exec as execAsync } from 'promisify-child-process';\nimport * as tar from 'tar';\nimport type { Client as StatesRedisClient } from '@iobroker/db-states-redis';\nimport type { Client as ObjectsRedisClient } from '@iobroker/db-objects-redis';\nimport { Upload } from './setupUpload.js';\nimport type { CleanDatabaseHandler, ProcessExitCallback, RestartController } from '../_Types.js';\nimport { dbConnectAsync, resetDbConnect } from './dbConnection.js';\nimport { IoBrokerError } from './customError.js';\nimport { CLIProcess } from '@/lib/cli/cliProcess.js';\nimport { open, writeFile } from 'node:fs/promises';\n\nexport interface CLIBackupRestoreOptions {\n dbMigration?: boolean;\n states: StatesRedisClient;\n objects: ObjectsRedisClient;\n processExit: ProcessExitCallback;\n cleanDatabase: CleanDatabaseHandler;\n restartController: RestartController;\n}\n\ntype BackupObject = Omit<ioBroker.GetObjectListItem<ioBroker.Object>, 'doc'>;\n\nexport interface RestoreBackupReturnValue {\n /** Exit code of the process */\n exitCode: EXIT_CODES;\n /** The new states db connection after restore */\n states: StatesRedisClient;\n /** The new objects db connection after restore */\n objects: ObjectsRedisClient;\n}\n\ninterface RestoreAfterStopOptions {\n /** restart controller after restore */\n restartOnFinish: boolean;\n /** skip the controller version check */\n force: boolean;\n /** skip adapter deletion, e.g. for setup custom db migration */\n dontDeleteAdapters: boolean;\n}\n\ninterface Backup {\n config?: null | ioBroker.IoBrokerJson;\n objects: null | BackupObject[];\n states: Record<string, ioBroker.State>;\n}\n\ninterface PreprocessObjectOptions {\n /** The hostname */\n hostname: string;\n /** The object to preprocess */\n object: ioBroker.Object;\n /** If the host has a custom hostname */\n isCustomHostname: boolean;\n /** String to check if it is a sub object or state of this host (will not match the host object directly) */\n thisHostNameStartsWith: string;\n}\n\nexport interface RestoreBackupOptions {\n /** backup name, absolute path or index */\n name: string | number;\n /** if force flag is set, js-controller is allowed to have a different version */\n force: boolean;\n /** skip adapter deletion, e.g. for setup custom db migration */\n dontDeleteAdapters: boolean;\n}\n\nconst controllerDir = tools.getControllerDir();\n\nexport class BackupRestore {\n private readonly hostname = tools.getHostName();\n private readonly tmpDir = path.normalize(path.join(controllerDir, 'tmp'));\n private readonly bkpDir = path.normalize(path.join(controllerDir, 'backups'));\n private objects: ObjectsRedisClient;\n private states: StatesRedisClient;\n private readonly processExit: CLIBackupRestoreOptions['processExit'];\n private readonly restartController: CLIBackupRestoreOptions['restartController'];\n private readonly cleanDatabase: CLIBackupRestoreOptions['cleanDatabase'];\n private readonly dbMigration: boolean;\n /** these adapters will be reinstalled during restore, while others will be installed after next controller start */\n private readonly PRESERVE_ADAPTERS = ['admin', 'backitup'] as const;\n private upload: Upload;\n private configParts: string[];\n private readonly configDir: string;\n /** Placeholder inserted during backup creation if no custom hostname defined */\n private readonly HOSTNAME_PLACEHOLDER = '$$__hostname__$$';\n /** Same as HOSTNAME_PLACEHOLDER but used in replace method */\n private readonly HOSTNAME_PLACEHOLDER_REPLACE = '$$$$__hostname__$$$$';\n /** Regex to replace all occurrences of the HOSTNAME_PLACEHOLDER */\n private readonly HOSTNAME_PLACEHOLDER_REGEX = /\\$\\$__hostname__\\$\\$/g;\n /** Postfix for backup name */\n private readonly BACKUP_POSTFIX = `_backup${tools.appNameLowerCase}`;\n\n constructor(options: CLIBackupRestoreOptions) {\n options = options || {};\n\n if (!options.states) {\n throw new Error('Invalid arguments: states is missing');\n }\n if (!options.objects) {\n throw new Error('Invalid arguments: objects is missing');\n }\n if (!options.processExit) {\n throw new Error('Invalid arguments: processExit is missing');\n }\n if (!options.cleanDatabase) {\n throw new Error('Invalid arguments: cleanDatabase is missing');\n }\n if (!options.restartController) {\n throw new Error('Invalid arguments: restartController is missing');\n }\n\n this.objects = options.objects;\n this.states = options.states;\n this.processExit = options.processExit;\n this.cleanDatabase = options.cleanDatabase;\n this.restartController = options.restartController;\n this.dbMigration = options.dbMigration || false;\n\n this.upload = new Upload(options);\n\n this.configParts = tools.getConfigFileName().split('/');\n this.configParts.pop(); // remove *.json\n this.configDir = this.configParts.join('/'); // => name-data\n }\n\n // --------------------------------------- BACKUP ---------------------------------------------------\n private async _copyFile(id: string, srcPath: string, destPath: string): Promise<void> {\n try {\n const data = await this.objects.readFile(id, srcPath);\n if (data) {\n fs.writeFileSync(destPath, data.file);\n }\n } catch (err) {\n console.log(`Can not copy File ${id}${srcPath} to ${destPath}: ${err.message}`);\n }\n }\n\n async copyDir(id: string, srcPath: string, destPath: string): Promise<void> {\n fs.ensureDirSync(destPath);\n\n try {\n const res = await this.objects.readDirAsync(id, srcPath);\n if (res) {\n for (const entry of res) {\n if (entry.isDir) {\n await this.copyDir(id, `${srcPath}/${entry.file}`, `${destPath}/${entry.file}`);\n } else {\n fs.ensureDirSync(destPath);\n await this._copyFile(id, `${srcPath}/${entry.file}`, `${destPath}/${entry.file}`);\n }\n }\n }\n } catch (err) {\n if (!err.message.includes('Not exists')) {\n console.warn(`Directory ${id}/${srcPath} cannot be copied: ${err}`);\n }\n }\n }\n\n /**\n * Get the directory where backups should be stored\n */\n static getBackupDir(): string {\n return path.join(tools.getRootDir(), 'backups/');\n }\n\n copyFileSync(source: string, target: string): void {\n let targetFile = target;\n\n try {\n // if target is a directory a new file with the same name will be created\n if (fs.existsSync(target)) {\n if (fs.statSync(target).isDirectory()) {\n targetFile = path.join(target, path.basename(source));\n }\n }\n\n fs.writeFileSync(targetFile, fs.readFileSync(source));\n } catch (e) {\n console.error(`Could not copy ${targetFile} to ${source}: ${e.message}`);\n }\n }\n\n copyFolderRecursiveSync(source: string, target: string): void {\n let files = [];\n\n if (!fs.existsSync(target)) {\n fs.mkdirSync(target);\n }\n\n // check if folder needs to be created or integrated\n const targetFolder = path.join(target, path.basename(source));\n if (!fs.existsSync(targetFolder)) {\n fs.mkdirSync(targetFolder);\n }\n\n // copy\n if (fs.existsSync(source) && fs.statSync(source).isDirectory()) {\n files = fs.readdirSync(source);\n files.forEach(file => {\n const curSource = path.join(source, file);\n if (!fs.existsSync(curSource)) {\n return;\n }\n if (fs.statSync(curSource).isDirectory()) {\n this.copyFolderRecursiveSync(curSource, targetFolder);\n } else {\n this.copyFileSync(curSource, targetFolder);\n }\n });\n }\n }\n\n /**\n * Removes the temporary backup directory, never throws\n */\n private removeTempBackupDir(): void {\n try {\n fs.rmSync(path.join(this.tmpDir, 'backup'), { recursive: true, force: true });\n } catch (e) {\n console.error(`host.${this.hostname} Cannot clear temporary backup directory: ${e.message}`);\n }\n }\n\n /**\n * Pack and compress the backup\n *\n * @param name - backup name\n */\n private _packBackup(name: string): Promise<string> {\n return new Promise((resolve, reject) => {\n const f = fs.createWriteStream(name);\n f.on('finish', () => {\n this.removeTempBackupDir();\n resolve(path.normalize(name));\n });\n\n f.on('error', e => {\n console.error(`host.${this.hostname} Cannot pack directory ${this.tmpDir}/backup: ${e.message}`);\n reject(new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_GZIP_DIRECTORY }));\n });\n\n try {\n tar.create({ gzip: true, cwd: `${this.tmpDir}/` }, ['backup']).pipe(f);\n } catch (e) {\n console.error(`host.${this.hostname} Cannot pack directory ${this.tmpDir}/backup: ${e.message}`);\n reject(new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_GZIP_DIRECTORY }));\n }\n });\n }\n\n /**\n * Creates backup and stores with given name\n *\n * @param name - name of the backup\n * @param noConfig - do not store configs (used by setup custom migration)\n */\n async createBackup(name: string, noConfig = false): Promise<string> {\n if (!name) {\n const d = new Date();\n name = `${d.getFullYear()}_${`0${d.getMonth() + 1}`.slice(-2)}_${`0${d.getDate()}`.slice(-2)}-${`0${d.getHours()}`.slice(\n -2,\n )}_${`0${d.getMinutes()}`.slice(-2)}_${`0${d.getSeconds()}`.slice(-2)}${this.BACKUP_POSTFIX}`;\n } else if (!name.endsWith(this.BACKUP_POSTFIX) && !name.endsWith(`${this.BACKUP_POSTFIX}.tar.gz`)) {\n name += this.BACKUP_POSTFIX;\n }\n\n name = name.toString().replace(/\\\\/g, '/');\n if (!name.includes('/')) {\n const backupPath = BackupRestore.getBackupDir();\n\n // create directory if not exists\n fs.ensureDirSync(backupPath);\n\n if (!name.includes('.tar.gz')) {\n name = `${backupPath + name}.tar.gz`;\n } else {\n name = backupPath + name;\n }\n }\n\n const hostname = tools.getHostName();\n // String to check if it is a sub object or state of this host (will not match the host object directly)\n const thisHostNameStartsWith = `system.host.${hostname}.`;\n\n fs.ensureDirSync(this.bkpDir);\n fs.ensureDirSync(this.tmpDir);\n\n this.removeTempBackupDir();\n\n const backupBasePath = path.join(this.tmpDir, 'backup');\n fs.ensureDirSync(backupBasePath);\n fs.ensureDirSync(path.join(backupBasePath, 'files'));\n\n let isCustomHostname = false;\n let config: ioBroker.IoBrokerJson | undefined;\n\n // read iobroker.json\n try {\n config = (await fs.readJSON(tools.getConfigFileName())) as ioBroker.IoBrokerJson;\n // if a hostname is configured\n isCustomHostname = !!config.system.hostname;\n } catch (e) {\n console.error(`host.${hostname} Cannot read config file: ${e.message}`);\n }\n\n if (!noConfig && config) {\n await writeFile(path.join(backupBasePath, 'config.json'), JSON.stringify(config), { encoding: 'utf-8' });\n }\n\n const objectsFd = await open(path.join(backupBasePath, 'objects.jsonl'), 'a');\n\n try {\n const res = await this.objects.getObjectListAsync({ include_docs: true });\n for (const row of res.rows) {\n const preprocessedValue = await this._preprocessObject({\n object: row.value,\n isCustomHostname,\n hostname,\n thisHostNameStartsWith,\n });\n await objectsFd.write(`${JSON.stringify(preprocessedValue)}\\n`);\n }\n\n console.log(`host.${hostname} ${res.rows.length || 'no'} objects saved`);\n } catch (e) {\n console.error(`host.${hostname} Cannot get objects: ${e.message}`);\n }\n\n await objectsFd.close();\n\n const statesFd = await open(path.join(backupBasePath, 'states.jsonl'), 'a');\n\n try {\n const keys = await this.states.getKeys('*');\n const objs = await this.states.getStates(keys!);\n\n if (keys) {\n for (let i = 0; i < keys.length; i++) {\n const obj = objs[i];\n\n if (!obj) {\n continue;\n }\n\n if (!isCustomHostname) {\n // if it's a default hostname, we will have a new default after restore and need to replace\n if (obj.from === `system.host.${hostname}`) {\n obj.from.replace(\n `system.host.${hostname}`,\n `system.host.${this.HOSTNAME_PLACEHOLDER_REPLACE}`,\n );\n }\n if (keys[i].startsWith(thisHostNameStartsWith)) {\n keys[i] = keys[i].replace(hostname, this.HOSTNAME_PLACEHOLDER_REPLACE);\n }\n }\n\n await statesFd.write(`${JSON.stringify({ id: keys[i], state: obj })}\\n`);\n }\n\n await statesFd.close();\n console.log(`host.${hostname} ${keys.length} states saved`);\n }\n } catch (e) {\n console.error(`host.${hostname} Cannot get states: ${e.message}`);\n }\n\n console.log(`host.${hostname} Validating backup ...`);\n try {\n await this._validateTempDirectory(noConfig);\n console.log(`host.${hostname} The backup is valid!`);\n\n return await this._packBackup(name);\n } catch (e) {\n console.error(`host.${hostname} Backup not created: ${e.message}`);\n this.removeTempBackupDir();\n\n if (e instanceof IoBrokerError) {\n throw e;\n }\n\n throw new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP });\n }\n }\n\n //--------------------------------------- RESTORE ---------------------------------------------------\n /**\n * Helper to restore raw state\n *\n * @param stateId - state ID\n * @param stateObject - the corresponding state object\n */\n private async _setStateHelper(stateId: string, stateObject: ioBroker.State): Promise<void> {\n try {\n await this.states.setRawState(stateId, stateObject);\n } catch (e) {\n console.log(`host.${this.hostname} Could not set value for state ${stateId}: ${e.message}`);\n }\n }\n\n /**\n * Sets all objects to the db and disables all adapters\n *\n * @param object - object to be set\n */\n private async _setObjHelper(object: ioBroker.Object): Promise<void> {\n // Disable all adapters.\n if (\n !this.dbMigration &&\n object._id &&\n /^system\\.adapter\\..+\\.\\d$/.test(object._id) &&\n !object._id.startsWith('system.adapter.admin.') &&\n !object._id.startsWith('system.adapter.backitup.')\n ) {\n if (object.common?.enabled) {\n object.common.enabled = false;\n }\n }\n\n try {\n await this.objects.setObject(object._id, object);\n } catch (e) {\n console.warn(`host.${this.hostname} Cannot restore ${object._id}: ${e.message}`);\n }\n }\n\n /**\n * Creates all provided object if non-existing\n *\n * @param objectList - list of objects to be created\n */\n private async _reloadAdapterObject(objectList: ioBroker.Object[]): Promise<void> {\n if (!Array.isArray(objectList)) {\n return;\n }\n\n for (const object of objectList) {\n let obj;\n try {\n obj = await this.objects.getObject(object._id);\n } catch {\n // ignore\n }\n\n if (!obj) {\n // object not existing -> create it\n try {\n await this.objects.setObject(object._id, object);\n console.log(`host.${this.hostname} object ${object._id} created`);\n } catch {\n // ignore\n }\n }\n }\n }\n\n private async _reloadAdaptersObjects(): Promise<void> {\n const dirs: string[] = [];\n let _modules;\n let p = path.join(controllerDir, 'node_modules');\n\n if (p.includes('js-controller')) {\n p = path.join(controllerDir, '..', 'node_modules');\n }\n\n if (fs.existsSync(p)) {\n _modules = fs.readdirSync(p).filter(dir => fs.existsSync(`${p}/${dir}/io-package.json`));\n if (_modules) {\n const regEx = new RegExp(`^${tools.appName}\\\\.`, 'i');\n for (const module of _modules) {\n if (regEx.test(module) && !dirs.includes(module.substring(tools.appName.length + 1))) {\n dirs.push(module);\n }\n }\n }\n }\n\n // if installed as npm\n if (\n fs.existsSync(\n path.join(controllerDir, '..', '..', 'node_modules', `${tools.appName.toLowerCase()}.js-controller`),\n )\n ) {\n const p = path.join(controllerDir, '..');\n _modules = fs.readdirSync(p).filter(dir => fs.existsSync(`${p}/${dir}/io-package.json`));\n const regEx_ = new RegExp(`^${tools.appName}\\\\.`, 'i');\n for (const module of _modules) {\n // if starting from application name + '.'\n if (\n regEx_.test(module) &&\n // If not js-controller\n module.substring(tools.appName.length + 1) !== 'js-controller' &&\n !dirs.includes(module.substring(tools.appName.length + 1))\n ) {\n dirs.push(module);\n }\n }\n }\n\n for (const dir of dirs) {\n const adapterName = dir.replace(/^iobroker\\./i, '');\n await this.upload.uploadAdapter(adapterName, false, true);\n await this.upload.uploadAdapter(adapterName, true, true);\n\n let pkg;\n\n if (!dir) {\n console.error('Wrong');\n }\n const adapterDir = tools.getAdapterDir(adapterName);\n if (fs.existsSync(`${adapterDir}/io-package.json`)) {\n pkg = fs.readJSONSync(`${adapterDir}/io-package.json`);\n }\n\n if (pkg?.objects?.length) {\n console.log(`host.${this.hostname} Setup \"${dir}\" adapter`);\n await this._reloadAdapterObject(pkg.objects);\n }\n }\n }\n\n private async _uploadUserFiles(root: string, uploadPath?: string): Promise<void> {\n uploadPath = uploadPath || '';\n if (!fs.existsSync(root)) {\n return;\n }\n const files = fs.readdirSync(root + uploadPath);\n for (const file of files) {\n const fName = path.join(root, uploadPath, file);\n if (!fs.existsSync(fName)) {\n continue;\n }\n const stat = fs.statSync(fName);\n if (stat.isDirectory()) {\n try {\n await this._uploadUserFiles(root, `${uploadPath}/${file}`);\n } catch (err) {\n console.error(`Error: ${err}`);\n }\n } else {\n const parts = uploadPath.split('/');\n const adapter = parts.splice(0, 2)[1];\n const _path = `${parts.join('/')}/${file}`;\n console.log(`host.${this.hostname} Upload user file \"${adapter}/${_path}`);\n try {\n await this.objects.writeFileAsync(adapter, _path, fs.readFileSync(`${root + uploadPath}/${file}`));\n } catch (err) {\n console.error(`Error: ${err.message}`);\n }\n }\n }\n }\n\n /**\n * Preprocess object before storing it in the backup file\n *\n * @param options object and host information\n */\n private async _preprocessObject(options: PreprocessObjectOptions): Promise<ioBroker.Object> {\n const { object, isCustomHostname, hostname, thisHostNameStartsWith } = options;\n\n if (!object || !object._id || !object.common) {\n return object;\n }\n\n if (!isCustomHostname) {\n if (object._id.match(/^system\\.adapter\\.([\\w\\d_-]+).(\\d+)$/) && object.common.host === hostname) {\n object.common.host = this.HOSTNAME_PLACEHOLDER;\n object.common.host = this.HOSTNAME_PLACEHOLDER;\n } else if (object._id.startsWith(thisHostNameStartsWith)) {\n object._id = object._id.replace(hostname, this.HOSTNAME_PLACEHOLDER_REPLACE);\n } else if (object._id === `system.host.${hostname}`) {\n object._id = `system.host.${this.HOSTNAME_PLACEHOLDER}`;\n object.common.name = object._id;\n object.common.hostname = this.HOSTNAME_PLACEHOLDER;\n if (object.native && object.native.os) {\n object.native.os.hostname = this.HOSTNAME_PLACEHOLDER;\n }\n\n object.common.name = object._id;\n object.common.hostname = this.HOSTNAME_PLACEHOLDER;\n if (object.native?.os) {\n object.native.os.hostname = this.HOSTNAME_PLACEHOLDER;\n }\n }\n }\n\n // Read all files\n if (object.type === 'meta' && object.common?.type === 'meta.user') {\n // do not process \"xxx.0. \" and \"xxx.0.\"\n if (object._id.trim() === object._id && object._id[object._id.length - 1] !== '.') {\n await this.copyDir(object._id, '', `${this.tmpDir}/backup/files/${object._id}`);\n }\n }\n\n // Read all files\n if (object.type === 'instance' && object.common?.dataFolder) {\n let dataFolderPath = object.common.dataFolder;\n\n if (dataFolderPath[0] !== '/' && !dataFolderPath.match(/^\\w:/)) {\n dataFolderPath = path.join(this.configDir, dataFolderPath);\n }\n\n if (fs.existsSync(dataFolderPath)) {\n try {\n this.copyFolderRecursiveSync(dataFolderPath, `${this.tmpDir}/backup`);\n } catch (e) {\n console.error(`host.${hostname} Could not backup \"${dataFolderPath}\" directory: ${e.message}`);\n this.removeTempBackupDir();\n throw new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_COPY_DIR });\n }\n }\n }\n\n return object;\n }\n\n private _copyBackupedFiles(backupDir: string): void {\n try {\n if (!fs.existsSync(backupDir)) {\n console.log('No additional files to restore');\n return;\n }\n const dirs = fs.readdirSync(backupDir);\n\n dirs.forEach(dir => {\n if (dir === 'files') {\n return;\n }\n const backupPath = path.join(backupDir, dir);\n let stat;\n try {\n if (!fs.existsSync(backupPath)) {\n return;\n }\n stat = fs.statSync(backupPath);\n } catch (e) {\n console.error(`Ignoring ${backupPath} because can not get file type: ${e.message}`);\n return;\n }\n if (stat.isDirectory()) {\n this.copyFolderRecursiveSync(backupPath, this.configDir);\n }\n });\n } catch (e) {\n console.error(`Ignoring ${backupDir} because can not read directory: ${e.message}`);\n }\n }\n\n /**\n * Restore JSONL backup after controller has been stopped\n *\n * @param options The restore options\n */\n private async _restoreJsonlBackup(options: RestoreAfterStopOptions): Promise<EXIT_CODES> {\n const { force, dontDeleteAdapters } = options;\n const hostname = tools.getHostName();\n\n const backupBaseDir = path.join(this.tmpDir, 'backup');\n\n let backupHostName = hostname;\n // Note: on backups created during migration no config exists\n let config: ioBroker.IoBrokerJson | undefined;\n\n if (await fs.pathExists(path.join(backupBaseDir, 'config.json'))) {\n config = (await fs.readJSON(path.join(backupBaseDir, 'config.json'))) as ioBroker.IoBrokerJson;\n backupHostName = config.system?.hostname || hostname;\n }\n\n // we need to find the host obj for the compatibility check\n const objFd = await open(path.join(backupBaseDir, 'objects.jsonl'));\n const rlObj = objFd.readLines();\n\n const hostObjArr: BackupObject[] = [];\n\n for await (let line of rlObj) {\n line = line.replace(this.HOSTNAME_PLACEHOLDER_REGEX, hostname);\n const obj: ioBroker.Object = JSON.parse(line);\n if (obj._id === `system.host.${backupHostName}`) {\n hostObjArr.push({ id: obj._id, value: obj });\n break;\n }\n }\n\n await objFd.close();\n\n // check that the same controller version is installed as it is contained in backup\n const exitCode = this._ensureCompatibility(controllerDir, backupHostName, hostObjArr, force);\n\n if (exitCode) {\n // we had an error\n return exitCode;\n }\n\n if (!dontDeleteAdapters) {\n // prevent having wrong versions of adapters\n await this._removeAllAdapters();\n }\n\n // restore ioBroker.json\n if (config) {\n fs.writeFileSync(tools.getConfigFileName(), JSON.stringify(config, null, 2));\n await this.connectToNewDatabase(config);\n }\n\n console.log(`host.${hostname} Clear all objects and states...`);\n await this.cleanDatabase(false);\n console.log(`host.${hostname} done.`);\n\n const objectsFd = await open(path.join(backupBaseDir, 'objects.jsonl'));\n const rlObjects = objectsFd.readLines();\n\n let count = 0;\n\n for await (let line of rlObjects) {\n line = line.replace(this.HOSTNAME_PLACEHOLDER_REGEX, hostname);\n const obj: ioBroker.Object = JSON.parse(line);\n await this._setObjHelper(obj);\n count++;\n }\n\n console.log(`${count} objects restored.`);\n\n await objectsFd.close();\n\n const statesFd = await open(path.join(backupBaseDir, 'states.jsonl'));\n const rlStates = statesFd.readLines();\n\n count = 0;\n\n for await (let line of rlStates) {\n line = line.replace(this.HOSTNAME_PLACEHOLDER_REGEX, hostname);\n const state: {\n id: string;\n state: ioBroker.State;\n } = JSON.parse(line);\n await this._setStateHelper(state.id, state.state);\n count++;\n }\n\n console.log(`${count} states restored.`);\n\n await statesFd.close();\n\n return EXIT_CODES.NO_ERROR;\n }\n\n /**\n * Restore after controller has been stopped\n *\n * @param options The restore options\n */\n private async _restoreAfterStop(options: RestoreAfterStopOptions): Promise<EXIT_CODES> {\n const { force, restartOnFinish, dontDeleteAdapters } = options;\n\n const backupBaseDir = path.join(this.tmpDir, 'backup');\n const isJsonl = await fs.pathExists(path.join(backupBaseDir, 'objects.jsonl'));\n\n if (isJsonl) {\n const exitCode = await this._restoreJsonlBackup(options);\n if (exitCode !== EXIT_CODES.NO_ERROR) {\n return exitCode;\n }\n } else {\n const hostname = tools.getHostName();\n console.log(`host.${hostname} Restore legacy backup.`);\n\n // Open file\n let data = fs.readFileSync(path.join(backupBaseDir, 'backup.json'), 'utf8');\n // replace all hostnames of instances etc with the new host\n data = data.replace(this.HOSTNAME_PLACEHOLDER_REGEX, hostname);\n fs.writeFileSync(path.join(backupBaseDir, 'backup_.json'), data);\n let restore: Backup;\n try {\n restore = JSON.parse(data);\n } catch (e) {\n console.error(`Cannot parse \"${path.join(backupBaseDir, 'backup_.json')}\": ${e.message}`);\n return EXIT_CODES.CANNOT_RESTORE_BACKUP;\n }\n\n if (!restore.objects) {\n console.error('The backup does not contain any objects.');\n return EXIT_CODES.CANNOT_RESTORE_BACKUP;\n }\n\n // check that the same controller version is installed as it is contained in backup\n const exitCode = this._ensureCompatibility(\n controllerDir,\n restore.config?.system?.hostname || hostname,\n restore.objects,\n force,\n );\n\n if (exitCode) {\n // we had an error\n return exitCode;\n }\n\n if (!dontDeleteAdapters) {\n // prevent having wrong versions of adapters\n await this._removeAllAdapters();\n }\n\n // restore ioBroker.json\n if (restore.config) {\n fs.writeFileSync(tools.getConfigFileName(), JSON.stringify(restore.config, null, 2));\n await this.connectToNewDatabase(restore.config);\n }\n\n console.log(`host.${hostname} Clear all objects and states...`);\n await this.cleanDatabase(false);\n console.log(`host.${hostname} done.`);\n\n const sList = Object.keys(restore.states);\n\n for (let i = 0; i < restore.objects.length; i++) {\n await this._setObjHelper(restore.objects[i].value);\n if (i % 200 === 0) {\n console.log(`host.${this.hostname} Processed ${i}/${restore.objects.length} objects`);\n }\n }\n\n console.log(`${restore.objects.length} objects restored.`);\n for (let i = 0; i < sList.length; i++) {\n const id = sList[i];\n await this._setStateHelper(id, restore.states[id]);\n if (i % 200 === 0) {\n console.log(`host.${this.hostname} Processed ${i}/${sList.length} states`);\n }\n }\n\n console.log(`${sList.length} states restored.`);\n }\n\n // Load user files into DB\n await this._uploadUserFiles(path.join(backupBaseDir, 'files'));\n // reload objects of adapters (if some couldn't be removed - normally this shouldn't be necessary anymore)\n await this._reloadAdaptersObjects();\n // Reload host objects\n const packageIO = fs.readJSONSync(path.join(controllerDir, 'io-package.json'));\n await this._reloadAdapterObject(packageIO ? packageIO.objects : null);\n // copy all files into iob-data\n this._copyBackupedFiles(backupBaseDir);\n // reinstall preserve adapters\n await this._restorePreservedAdapters();\n\n if (force) {\n // js-controller version has changed (setup never called for this version)\n console.log('Forced restore - executing setup ...');\n try {\n await execAsync(\n `\"${process.execPath}\" \"${path.join(controllerDir, `${tools.appName.toLowerCase()}.js`)}\" setup`,\n );\n } catch (e) {\n console.error(\n `Could not execute \"setup\" command, please ensure \"setup\" is called before starting ioBroker: ${e.message}`,\n );\n }\n }\n\n if (restartOnFinish) {\n console.log('restart');\n this.restartController();\n }\n\n return EXIT_CODES.NO_ERROR;\n }\n\n /**\n * Connects to the database which is configured in `iobroker.json`\n * Meant to be used after the configuration file has been overwritten\n *\n * @param config The new config, needed for logging purposes\n */\n private async connectToNewDatabase(config: ioBroker.IoBrokerJson): Promise<void> {\n console.log(\n `host.${this.hostname} Connecting to new DB \"${config.states.type}/${config.objects.type}\" (can take up to 20s) ...`,\n );\n await resetDbConnect();\n const { objects, states } = await dbConnectAsync(false);\n console.log(`host.${this.hostname} Successfully connected to new DB`);\n\n this.upload = new Upload({ states, objects });\n\n this.objects = objects;\n this.states = states;\n }\n\n /**\n * Removes all adapters\n */\n private async _removeAllAdapters(): Promise<void> {\n const nodeModulePath = path.join(controllerDir, '..');\n const nodeModuleDirs = fs.readdirSync(nodeModulePath, { withFileTypes: true });\n // we need to uninstall current adapters to get exact the same system as before backup\n for (const dir of nodeModuleDirs) {\n if (\n dir.isDirectory() &&\n dir.name.startsWith(`${tools.appName.toLowerCase()}.`) &&\n dir.name !== `${tools.appName.toLowerCase()}.js-controller`\n ) {\n try {\n const packJson = fs.readJsonSync(path.join(nodeModulePath, dir.name, 'package.json'));\n console.log(`Removing current installation of ${packJson.name}`);\n await tools.uninstallNodeModule(packJson.name);\n } catch {\n // ignore\n }\n }\n }\n }\n\n /**\n * Ensure that installed controller version matches version in backup\n *\n * @param controllerDir - directory of js-controller\n * @param backupHostname - hostname in backup file\n * @param backupObjects - the objects contained in the backup\n * @param force - if force is true, only log\n */\n private _ensureCompatibility(\n controllerDir: string,\n backupHostname: string,\n backupObjects: BackupObject[],\n force: boolean,\n ): void | number {\n try {\n const ioPackJson = fs.readJsonSync(path.join(controllerDir, 'io-package.json'));\n const hostObj = backupObjects.find(obj => obj.id === `system.host.${backupHostname}`);\n\n if (!hostObj) {\n console.error('No host object found, your backup seems to be corrupted!');\n return EXIT_CODES.CANNOT_RESTORE_BACKUP;\n }\n\n if (hostObj.value.common.installedVersion !== ioPackJson.common.version) {\n if (!force) {\n console.warn('The current version of js-controller differs from the version in the backup.');\n console.warn('The js-controller version of the backup can not be restored automatically.');\n console.warn(\n `To restore the js-controller version of the backup, execute \"npm i iobroker.js-controller@${hostObj.value.common.installedVersion} --omit=dev\" inside your ioBroker directory`,\n );\n console.warn(\n 'If you really want to restore the backup with the current installed js-controller, execute the restore command with the --force flag',\n );\n\n return EXIT_CODES.CANNOT_RESTORE_BACKUP;\n }\n console.info('The current version of js-controller differs from the version in the backup.');\n console.info('The js-controller version of the backup can not be restored automatically.');\n console.info('Note, that your backup might differ in behavior due to this version change!');\n }\n } catch {\n // ignore\n }\n }\n\n /**\n * Returns all backups as array\n */\n listBackups(): string[] {\n const dir = BackupRestore.getBackupDir();\n const result: string[] = [];\n if (fs.existsSync(dir)) {\n const files = fs.readdirSync(dir);\n for (const file of files) {\n if (file.match(/\\.tar\\.gz$/i)) {\n result.push(file);\n }\n }\n return result;\n }\n return result;\n }\n\n /**\n * Validates a JSONL-style backup and all json files inside the backup (in temporary directory)\n *\n * @param noConfig if the backup does not contain a `config.json` (used by setup custom migration)\n */\n private async _validateTempDirectory(noConfig = false): Promise<void> {\n const backupBaseDir = path.join(this.tmpDir, 'backup');\n\n if (!noConfig) {\n await fs.readJSON(path.join(backupBaseDir, 'config.json'));\n console.log(`host.${this.hostname} \"config.json\" is valid`);\n }\n\n if (!(await fs.pathExists(path.join(backupBaseDir, 'objects.jsonl')))) {\n throw new Error('Backup does not contain valid objects');\n }\n\n console.log(`host.${this.hostname} \"objects.jsonl\" exists`);\n\n if (!(await fs.pathExists(path.join(backupBaseDir, 'states.jsonl')))) {\n throw new Error('Backup does not contain valid states');\n }\n\n console.log(`host.${this.hostname} \"states.jsonl\" exists`);\n\n await this._validateDatabaseFiles();\n\n console.log(`host.${this.hostname} JSONL lines are valid`);\n\n // we check all other json files, we assume them as optional, because user created files may be no valid json\n try {\n this._checkDirectory(path.join(backupBaseDir, 'files'));\n } catch (e) {\n console.warn(`host.${this.hostname} One or more optional files are corrupted: ${e.message}`);\n console.warn(`host.${this.hostname} Please ensure that self-created JSON files are valid`);\n }\n }\n\n /**\n * Validate that the created JSONL files in the temporary directories are parseable\n */\n private async _validateDatabaseFiles(): Promise<void> {\n const backupBaseDir = path.join(this.tmpDir, 'backup');\n\n const objectsFd = await open(path.join(backupBaseDir, 'objects.jsonl'));\n const rlObjects = objectsFd.readLines();\n\n for await (const line of rlObjects) {\n try {\n JSON.parse(line);\n } catch (e) {\n throw new Error(`The \"objects.jsonl\" file is corrupted: ${e.message}`);\n }\n }\n\n await objectsFd.close();\n\n const statesFd = await open(path.join(backupBaseDir, 'states.jsonl'));\n const rlStates = statesFd.readLines();\n\n for await (const line of rlStates) {\n try {\n JSON.parse(line);\n } catch (e) {\n throw new Error(`The \"states.jsonl\" file is corrupted: ${e.message}`);\n }\n }\n\n await statesFd.close();\n }\n\n /**\n * Validates the given backup.json and all json files in the backup, calls processExit afterwards\n *\n * @param _name - index or name of the backup\n */\n async validateBackup(_name: string | number): Promise<void> {\n let backups;\n let name = typeof _name === 'number' ? _name.toString() : _name;\n\n if (!name) {\n backups = this.listBackups();\n backups.sort((a, b) => (b > a ? 1 : b === a ? 0 : -1));\n if (backups.length) {\n // List all available backups\n console.log('Please specify one of the backup names:');\n\n for (const t in backups) {\n console.log(`${backups[t]} or ${backups[t].replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${t}`);\n }\n } else {\n console.warn(`No backups found. Create a backup, using \"${tools.appName} backup\" first`);\n }\n throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });\n }\n // If number\n if (parseInt(name, 10).toString() === name.toString()) {\n backups = this.listBackups();\n backups.sort((a, b) => (b > a ? 1 : b === a ? 0 : -1));\n name = backups[parseInt(name, 10)];\n if (!name) {\n console.log('No matching backup found');\n if (backups.length) {\n console.log('Please specify one of the backup names:');\n for (const t in backups) {\n console.log(\n `${backups[t]} or ${backups[t].replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${t}`,\n );\n }\n } else {\n console.log(`No existing backups. Create a backup, using \"${tools.appName} backup\" first`);\n }\n\n throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });\n }\n console.log(`host.${this.hostname} Using backup file ${name}`);\n }\n\n name = name.toString().replace(/\\\\/g, '/');\n if (!name.includes('/')) {\n name = BackupRestore.getBackupDir() + name;\n const regEx = new RegExp(this.BACKUP_POSTFIX, 'i');\n if (!regEx.test(name)) {\n name += this.BACKUP_POSTFIX;\n }\n if (!name.match(/\\.tar\\.gz$/i)) {\n name += '.tar.gz';\n }\n }\n if (!fs.existsSync(name)) {\n console.error(`host.${this.hostname} Cannot find ${name}`);\n throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });\n }\n\n if (fs.existsSync(`${this.tmpDir}/backup/backup.json`)) {\n fs.unlinkSync(`${this.tmpDir}/backup/backup.json`);\n }\n\n try {\n await tar.extract({\n file: name,\n cwd: this.tmpDir,\n });\n } catch (e) {\n const errMessage = `Cannot extract from file \"${name}\": ${e.message}`;\n console.error(`host.${this.hostname} ${errMessage}`);\n throw new IoBrokerError({ message: 'Backup not found', code: EXIT_CODES.INVALID_ARGUMENTS });\n }\n\n try {\n if (fs.existsSync(path.join(this.tmpDir, 'backup', 'backup.json'))) {\n this._validateLegacyTempDir();\n } else {\n await this._validateTempDirectory();\n }\n } catch (e) {\n console.error(`host.${this.hostname} ${e.message}`);\n\n try {\n this.removeTempBackupDir();\n } catch (e) {\n console.error(`host.${this.hostname} Cannot clear temporary backup directory: ${e.message}`);\n }\n\n throw new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP });\n }\n\n try {\n this.removeTempBackupDir();\n } catch (e) {\n console.error(`host.${this.hostname} Cannot clear temporary backup directory: ${e.message}`);\n throw new IoBrokerError({ message: e.message, code: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP });\n }\n }\n\n /**\n * Validate an unpacked legacy backup in the temporary directory\n */\n private _validateLegacyTempDir(): void {\n console.log(`host.${this.hostname} Starting validation ...`);\n let backupJSON;\n try {\n backupJSON = fs.readJSONSync(`${this.tmpDir}/backup/backup.json`);\n } catch (e) {\n throw new Error(`Backup corrupted. Backup does not contain a valid backup.json file: ${e.message}`);\n }\n\n if (!backupJSON || !backupJSON.objects || !backupJSON.objects.length) {\n throw new Error(`host.${this.hostname} Backup corrupted. Backup does not contain valid objects`);\n }\n\n console.log(`host.${this.hostname} backup.json OK`);\n\n try {\n this._checkDirectory(`${this.tmpDir}/backup/files`, true);\n } catch (e) {\n throw new Error(`Backup corrupted: ${e.message}`);\n }\n }\n\n /**\n * Checks a directory for json files and validates them, steps down recursive in subdirectories\n *\n * @param path - path to the directory\n * @param verbose - if logging should be verbose\n */\n private _checkDirectory(path: string, verbose = false): void {\n if (fs.existsSync(path)) {\n const files = fs.readdirSync(path);\n if (!files.length) {\n return;\n }\n for (const file of files) {\n const filePath = `${path}/${file}`;\n if (fs.existsSync(filePath) && fs.statSync(filePath).isDirectory()) {\n // if directory then check it\n this._checkDirectory(filePath, verbose);\n } else if (file.endsWith('.json')) {\n try {\n fs.readJSONSync(filePath);\n if (verbose) {\n console.log(`host.${this.hostname} ${file} OK`);\n }\n } catch {\n throw new Error(`host.${this.hostname} ${filePath} is not a valid json file`);\n }\n }\n }\n }\n }\n\n /**\n * Restores a backup\n *\n * @param options Restore options\n */\n async restoreBackup(options: RestoreBackupOptions): Promise<RestoreBackupReturnValue> {\n const { name: _name, dontDeleteAdapters, force } = options;\n\n let backups;\n let name = typeof _name === 'number' ? _name.toString() : _name;\n\n if (!name) {\n // List all available backups\n console.log('Please specify one of the backup names:');\n backups = this.listBackups();\n backups.sort((a, b) => (b > a ? 1 : b === a ? 0 : -1));\n if (backups.length) {\n backups.forEach((backup, i) =>\n console.log(`${backup} or ${backup.replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${i}`),\n );\n } else {\n console.warn('No backups found');\n }\n return { exitCode: EXIT_CODES.INVALID_ARGUMENTS, objects: this.objects, states: this.states };\n }\n\n if (!this.cleanDatabase) {\n throw new Error('Invalid arguments: cleanDatabase is missing');\n }\n if (!this.restartController) {\n throw new Error('Invalid arguments: restartController is missing');\n }\n\n // If number\n if (parseInt(name, 10).toString() === name.toString()) {\n backups = this.listBackups();\n backups.sort((a, b) => (b > a ? 1 : b === a ? 0 : -1));\n name = backups[parseInt(name, 10)];\n if (!name) {\n console.log('No matching backup found');\n if (backups.length) {\n console.log('Please specify one of the backup names:');\n backups.forEach((backup, i) =>\n console.log(`${backup} or ${backup.replace(`${this.BACKUP_POSTFIX}.tar.gz`, '')} or ${i}`),\n );\n }\n return { exitCode: EXIT_CODES.INVALID_ARGUMENTS, objects: this.objects, states: this.states };\n }\n console.log(`host.${this.hostname} Using backup file ${name}`);\n }\n\n name = name.toString().replace(/\\\\/g, '/');\n if (!name.includes('/')) {\n name = BackupRestore.getBackupDir() + name;\n const regEx = new RegExp(this.BACKUP_POSTFIX, 'i');\n if (!regEx.test(name)) {\n name += this.BACKUP_POSTFIX;\n }\n if (!name.match(/\\.tar\\.gz$/i)) {\n name += '.tar.gz';\n }\n }\n if (!fs.existsSync(name)) {\n console.error(`host.${this.hostname} Cannot find ${name}`);\n return { exitCode: EXIT_CODES.INVALID_ARGUMENTS, objects: this.objects, states: this.states };\n }\n\n const backupBasePath = path.join(this.tmpDir, 'backup');\n\n // delete /backup/backup.json\n if (fs.existsSync(path.join(backupBasePath, 'backup.json'))) {\n fs.unlinkSync(path.join(backupBasePath, 'backup.json'));\n }\n\n try {\n await tar.extract({\n file: name,\n cwd: this.tmpDir,\n });\n } catch (e) {\n console.error(`host.${this.hostname} Cannot extract from file \"${name}\": ${e.message}`);\n return { exitCode: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP, objects: this.objects, states: this.states };\n }\n\n if (\n !(await fs.pathExists(path.join(backupBasePath, 'backup.json'))) &&\n !(await fs.pathExists(path.join(backupBasePath, 'objects.jsonl')))\n ) {\n console.error(\n `host.${this.hostname} Cannot find extracted file \"${path.join(backupBasePath, 'backup.json')}\" or \"${path.join(backupBasePath, 'objects.jsonl')}\"`,\n );\n return { exitCode: EXIT_CODES.CANNOT_EXTRACT_FROM_ZIP, objects: this.objects, states: this.states };\n }\n\n await CLIProcess.stopJSController();\n const exitCode = await this._restoreAfterStop({\n restartOnFinish: false,\n force,\n dontDeleteAdapters,\n });\n\n this.removeTempBackupDir();\n\n return { exitCode, objects: this.objects, states: this.states };\n }\n\n /**\n * This method checks if adapter of PRESERVE_ADAPTERS exists, and re-installs them if this is the case\n */\n private async _restorePreservedAdapters(): Promise<void> {\n for (const adapterName of this.PRESERVE_ADAPTERS) {\n try {\n const adapterObj = await this.objects.getObject(`system.adapter.${adapterName}`);\n if (adapterObj?.common?.version) {\n let installSource;\n if (adapterObj.common.installedFrom) {\n installSource = adapterObj.common.installedFrom;\n } else {\n installSource = `${tools.appName.toLowerCase()}.${adapterName}@${adapterObj.common.version}`;\n }\n\n console.log(`Reinstalling adapter \"${adapterName}\" from \"${installSource}\"`);\n const res = await tools.installNodeModule(installSource);\n\n if (!res.success) {\n console.error(`Could not install adapter \"${adapterName}\" (${res.exitCode}): ${res.stderr}`);\n }\n }\n } catch (e) {\n console.error(`Could not ensure existence of adapter \"${adapterName}\": ${e.message}`);\n }\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["path", "fs", "module", "p", "execAsync", "controllerDir", "e"]
|
|
7
7
|
}
|
|
@@ -2,7 +2,7 @@ import fs from 'fs-extra';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { EXIT_CODES, tools } from '@iobroker/js-controller-common';
|
|
4
4
|
import { exec as execAsync } from 'promisify-child-process';
|
|
5
|
-
import tar from 'tar';
|
|
5
|
+
import * as tar from 'tar';
|
|
6
6
|
import { Upload } from './setupUpload.js';
|
|
7
7
|
import { dbConnectAsync, resetDbConnect } from './dbConnection.js';
|
|
8
8
|
import { IoBrokerError } from './customError.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupBackup.js","sourceRoot":"","sources":["../../../../src/lib/setup/setupBackup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setupBackup.js","sourceRoot":"","sources":["../../../../src/lib/setup/setupBackup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../types-dev/utils.d.ts","../../types-dev/objects.d.ts","../../types-dev/config.d.ts","../../types-dev/index.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../../../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/ts5.6/index.d.ts","../../../node_modules/@types/jsonfile/index.d.ts","../../../node_modules/@types/jsonfile/utils.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/promisify-child-process/index.d.ts","../../../node_modules/execa/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/package-manager.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/npm/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-berry/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-classic/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/pak.d.ts","../../../node_modules/@alcalzone/pak/build/index.d.ts","../../common-db/build/esm/lib/common/maybeCallback.d.ts","../../common-db/build/esm/lib/common/tools.d.ts","../../db-base/build/esm/lib/inMemFileDB.d.ts","../../db-states-redis/build/esm/lib/states/statesInRedisClient.d.ts","../../db-states-redis/build/esm/lib/states/interview.d.ts","../../db-states-redis/build/esm/index.d.ts","../../common/build/esm/lib/common/states.d.ts","../../db-objects-redis/build/esm/lib/objects/constants.d.ts","../../db-objects-redis/build/esm/lib/objects/objectsUtils.d.ts","../../db-objects-redis/build/esm/lib/objects/objectsInRedisClient.d.ts","../../db-objects-redis/build/esm/lib/objects/interview.d.ts","../../db-objects-redis/build/esm/index.d.ts","../../common/build/esm/lib/common/objects.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/logform/index.d.ts","../../../node_modules/winston-transport/index.d.ts","../../../node_modules/winston/lib/winston/config/index.d.ts","../../../node_modules/winston/lib/winston/transports/index.d.ts","../../../node_modules/winston/index.d.ts","../../common/build/esm/lib/common/notificationHandler.d.ts","../../common/build/esm/lib/common/zipFiles.d.ts","../../common/build/esm/lib/common/tools.d.ts","../../common-db/build/esm/lib/common/exitCodes.d.ts","../../common-db/build/esm/lib/common/password.d.ts","../../common-db/build/esm/lib/common/logger.d.ts","../../common-db/build/esm/lib/common/interview.d.ts","../../common-db/build/esm/lib/common/session.d.ts","../../common-db/build/esm/lib/common/constants.d.ts","../../common-db/build/esm/index.d.ts","../../common/build/esm/index.d.ts","../../../node_modules/deep-clone/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/yargs/yargs.d.ts","../src/lib/cli/cliTools.ts","../src/lib/cli/messages.ts","../src/lib/_Types.ts","../src/lib/cli/cliCommand.ts","../src/lib/cli/cliHost.ts","../../../node_modules/@types/readline-sync/index.d.ts","../src/lib/cli/cliStates.ts","../src/lib/cli/cliDebug.ts","../src/lib/setup/setupList.ts","../src/lib/cli/cliObjects.ts","../src/lib/cli/cliCert.ts","../src/lib/cli/cliCompact.ts","../../../node_modules/anymatch/index.d.ts","../../../node_modules/chokidar/types/index.d.ts","../../../node_modules/@types/event-stream/index.d.ts","../src/lib/cli/cliLogs.ts","../src/lib/cli/cliProcess.ts","../src/lib/cli/cliMessage.ts","../src/lib/cli/cliPlugin.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../src/lib/setup/customError.ts","../src/lib/setup/utils.ts","../../../node_modules/@iobroker/plugin-base/build/esm/lib/NamespaceLogger.d.ts","../../../node_modules/@iobroker/plugin-base/build/esm/types.d.ts","../../common-db/build/cjs/lib/common/maybeCallback.d.ts","../../common-db/build/cjs/lib/common/tools.d.ts","../../db-base/build/cjs/lib/inMemFileDB.d.ts","../../db-states-redis/build/cjs/lib/states/statesInRedisClient.d.ts","../../db-states-redis/build/cjs/lib/states/interview.d.ts","../../db-states-redis/build/cjs/index.d.ts","../../db-objects-redis/build/cjs/lib/objects/constants.d.ts","../../db-objects-redis/build/cjs/lib/objects/objectsUtils.d.ts","../../db-objects-redis/build/cjs/lib/objects/objectsInRedisClient.d.ts","../../db-objects-redis/build/cjs/lib/objects/interview.d.ts","../../db-objects-redis/build/cjs/index.d.ts","../../../node_modules/@iobroker/plugin-base/build/esm/lib/PluginBase.d.ts","../../../node_modules/@iobroker/plugin-base/build/esm/lib/PluginHandler.d.ts","../../../node_modules/@iobroker/plugin-base/build/esm/index.d.ts","../src/lib/setup/dbConnection.ts","../../../node_modules/axios/index.d.ts","../src/lib/setup/setupRepo.ts","../../../node_modules/minipass/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/mime-types/index.d.ts","../src/lib/setup/setupUpload.ts","../src/lib/setup/setupBackup.ts","../src/lib/setup/pluginInfos.ts","../src/lib/setup/setupSetup.ts","../src/lib/setup/setupPacketManager.ts","../src/lib/setup/setupInstall.ts","../src/lib/setup/formatters.ts","../src/lib/setup/setupUpgrade.ts","../../../node_modules/@types/revalidator/index.d.ts","../../../node_modules/@types/prompt/index.d.ts","../src/lib/setup/setupUsers.ts","../src/lib/setup/setupVisDebug.ts","../src/lib/setup/multihostClient.ts","../src/lib/setup/setupMultihost.ts","../src/lib/setup/setupVendor.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../src/lib/setup/setupLicense.ts","../src/lib/setup.ts","../src/index.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/glossy/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/ioredis/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/mysql/index.d.ts","../../../node_modules/@types/node-forge/index.d.ts","../../../node_modules/@types/node-schedule/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/pg-types/index.d.ts","../../../node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/@types/pg/index.d.ts","../../../node_modules/@types/pg-pool/index.d.ts","../../../node_modules/@types/pidusage/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/@types/tedious/index.d.ts","../../../node_modules/@types/winston-syslog/index.d.ts"],"fileIdsList":[[71,114,169,173],[71,114,169],[71,114,145,163,168],[71,114,169,170,171,172],[71,114,273,285,286],[71,114],[71,114,272,273,279,284],[71,114,273,279,284,285],[71,114,314],[71,114,129,163],[71,114,206],[71,114,145,163],[71,114,127,163,164,165],[71,114,163],[71,114,319],[71,114,126,145,153,163],[71,114,127,156,163],[71,114,126,163],[71,111,114],[71,113,114],[71,114,119,148],[71,114,115,120,126,127,134,145,156],[71,114,115,116,126,134],[66,67,68,71,114],[71,114,117,157],[71,114,118,119,127,135],[71,114,119,145,153],[71,114,120,122,126,134],[71,113,114,121],[71,114,122,123],[71,114,126],[71,114,124,126],[71,113,114,126],[71,114,126,127,128,145,156],[71,114,126,127,128,141,145,148],[71,109,114,161],[71,114,122,126,129,134,145,156],[71,114,126,127,129,130,134,145,153,156],[71,114,129,131,145,153,156],[71,114,126,132],[71,114,133,156,161],[71,114,122,126,134,145],[71,114,135],[71,114,136],[71,113,114,137],[71,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],[71,114,139],[71,114,140],[71,114,126,141,142],[71,114,141,143,157,159],[71,114,126,145,146,147,148],[71,114,145,147],[71,114,145,146],[71,114,148],[71,114,149],[71,111,114,145],[71,114,126,151,152],[71,114,151,152],[71,114,119,134,145,153],[71,114,154],[114],[69,70,71,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],[71,114,134,155],[71,114,129,140,156],[71,114,119,157],[71,114,145,158],[71,114,133,159],[71,114,160],[71,114,119,126,128,137,145,156,159,161],[71,114,145,162],[71,114,337],[71,114,126,145,153,163,331,332,335,336,337],[71,114,126,155,163,302],[71,114,230,269],[71,114,230,254,269],[71,114,269],[71,114,230],[71,114,230,255,269],[71,114,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268],[71,114,255,269],[71,114,314,341],[71,114,340],[71,114,127,145,162,163,291],[71,114,126,153,163],[71,114,120,134,163,190,318],[71,114,208],[71,114,209],[71,114,126,127,163,223],[71,114,115,145,163],[71,114,188],[71,114,126,145,163],[71,114,163,332,333,334],[71,114,145,163,332],[71,114,115],[71,81,85,114,156],[71,81,114,145,156],[71,76,114],[71,78,81,114,153,156],[71,114,134,153],[71,76,114,163],[71,78,81,114,134,156],[71,73,74,77,80,114,126,145,156],[71,81,88,114],[71,73,79,114],[71,81,102,103,114],[71,77,81,114,148,156,163],[71,102,114,163],[71,75,76,114,163],[71,81,114],[71,75,76,77,78,79,80,81,82,83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,114],[71,81,96,114],[71,81,88,89,114],[71,79,81,89,90,114],[71,80,114],[71,73,76,81,114],[71,81,85,89,90,114],[71,85,114],[71,79,81,84,114,156],[71,73,78,81,88,114],[71,114,145],[71,76,81,102,114,161,163],[71,114,145,163,189],[71,114,145,163,189,190,191,192],[71,114,129,163,190],[65,71,114,213,288,294,295,298,301,308,311],[71,114,180,186],[71,114,204,212,214,220],[71,114,213],[71,114,166,204,212,214],[71,114,115,204,211,212,214],[71,114,135,166,186,204,211,212,214],[71,114,133,135,166,204,214,224,225],[71,114,180,211,212,214],[71,114,141,180,186,204,211,212,214,216,219],[71,114,133,136,166,204,211,212,214],[71,114,115,135,136,152,166,180,186,204,205,211,212,214],[71,114,186,204,211,212,214,216],[71,114,186,204],[71,114,204],[71,114,115,126,133,136,141,156,157,166,202,204,205,207,210,211,212,214,215,217,218,219,220,221,222,226,227,228,229,270,271,288,290,294,295,297,299,300,301,304,305,307,308,310],[71,114,136,152,166,180,186,204,213,287],[71,114,119,120,204],[71,114,128,136,166,167,180,186,204,213,227,270,288,292,294],[71,114,115,133,136,156,166,174,180,186,202,204,213,269,270,271,289,294,298],[71,114,166,186,204,309],[71,114,166,180,186,204],[71,114,136,141,166,186,204,216,303,306],[71,114,176],[71,114,136,166,180,186,202,204,271,289],[71,114,119,133,135,136,156,166,176,180,186,202,204,205,213,216,288,294,295,296],[71,114,136,155,166,180,186,204,207,213,216,269,270,271,294,299],[71,114,136,157,166,176,180,186,204,205,289,293],[71,114,186,204,213,303],[71,114,119,157,166,176,186,204,205],[71,114,136,166,186,204,213],[71,114,186,204,269,270],[71,114,115,167,174,274],[71,114,176,197,198,199,200,201,202],[71,114,193],[71,114,115,167,174,175],[71,114,181,187,194,195,196,203],[71,114,180,186,193],[71,114,186],[71,114,180],[71,114,176,186],[71,114,275],[71,114,281,282,283],[71,114,275,276,281],[71,114,280],[71,114,183,184,185],[71,114,176,177,183],[71,114,182],[71,114,277,278],[71,114,275,276],[71,114,178,179],[71,114,176,177],[62,63,64,71,114,127],[62,71,114,135]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d540251809289a05349b70ab5f4b7b99f922af66ab3c39ba56a475dcf95d5ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"e12a40ba307d38757b6f0637958d945de7442dbd0986fd3e4f7a61cc65b3bc61","impliedFormat":1},{"version":"5567e9acad90417ea240e313752ea74443325468659ac3eafe836f33befeece5","affectsGlobalScope":true,"impliedFormat":1},{"version":"67c8132c5c59c33d70fb0938ed46838dc17771c85de656dcd70376a5db47c362","impliedFormat":1},{"version":"aeedd08b2d610912d4260c28ab76108b2ef84ad81e594f36ba2bbe042401ce37","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"ca6d304b929748ea15c33f28c1f159df18a94470b424ab78c52d68d40a41e1e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"a72ffc815104fb5c075106ebca459b2d55d07862a773768fce89efc621b3964b","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36","impliedFormat":1},{"version":"d674383111e06b6741c4ad2db962131b5b0fa4d0294b998566c635e86195a453","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e58c4c18a031cbb17abec7a4ad0bd5ae9fc70c1f4ba1e7fb921ad87c504aca","impliedFormat":1},{"version":"a3e8bafb2af8e850c644f4be7f5156cf7d23b7bfdc3b786bd4d10ed40329649c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"f77d9188e41291acf14f476e931972460a303e1952538f9546e7b370cb8d0d20","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","impliedFormat":1},{"version":"3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","impliedFormat":1},{"version":"5a369483ac4cfbdf0331c248deeb36140e6907db5e1daed241546b4a2055f82c","impliedFormat":1},{"version":"e8f5b5cc36615c17d330eaf8eebbc0d6bdd942c25991f96ef122f246f4ff722f","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"4d7da7075068195f8f127f41c61e304cdca5aafb1be2d0f4fb67c6b4c3e98d50","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4bdde4e601e9554a844e1e0d0ccfa05e183ef9d82ab3ac25f17c1709033d360","impliedFormat":1},{"version":"ad23fd126ff06e72728dd7bfc84326a8ca8cec2b9d2dac0193d42a777df0e7d8","impliedFormat":1},{"version":"9dd9f50652a176469e85fb65aa081d2e7eb807e2c476f378233de4f1f6604962","impliedFormat":1},{"version":"93bd413918fa921c8729cef45302b24d8b6c7855d72d5bf82d3972595ae8dcbf","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e","impliedFormat":1},{"version":"7edec695cdb707c7146ac34c44ca364469c7ea504344b3206c686e79f61b61a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"d206b4baf4ddcc15d9d69a9a2f4999a72a2c6adeaa8af20fa7a9960816287555","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"70731d10d5311bd4cf710ef7f6539b62660f4b0bfdbb3f9fbe1d25fe6366a7fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"137c2894e8f3e9672d401cc0a305dc7b1db7c69511cf6d3970fb53302f9eae09","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"235bfb54b4869c26f7e98e3d1f68dbfc85acf4cf5c38a4444a006fbf74a8a43d","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"bb715efb4857eb94539eafb420352105a0cff40746837c5140bf6b035dd220ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"fdedf82878e4c744bc2a1c1e802ae407d63474da51f14a54babe039018e53d8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"08353b04a3501d84fc8d7b49de99f6c1cc26026e6d9d697a18315f3bfe92ed03","affectsGlobalScope":true,"impliedFormat":1},{"version":"578d8bb6dcb2a1c03c4c3f8eb71abc9677e1a5c788b7f24848e3138ce17f3400","impliedFormat":1},{"version":"4f029899f9bae07e225c43aef893590541b2b43267383bf5e32e3a884d219ed5","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"5b566927cad2ed2139655d55d690ffa87df378b956e7fe1c96024c4d9f75c4cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"bce947017cb7a2deebcc4f5ba04cead891ce6ad1602a4438ae45ed9aa1f39104","affectsGlobalScope":true,"impliedFormat":1},{"version":"efeedd8bbc5c0d53e760d8b120a010470722982e6ae14de8d1bcff66ebc2ae71","impliedFormat":1},{"version":"e2c72c065a36bc9ab2a00ac6a6f51e71501619a72c0609defd304d46610487a4","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"616075a6ac578cf5a013ee12964188b4412823796ce0b202c6f1d2e4ca8480d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"9091e564b81e7b4c382a33c62de704a699e10508190547d4f7c1c3e039d2db2b","impliedFormat":1},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},{"version":"45e2f08258e671e67a177bd9057e785956c23b2542308f9559db037fe1114105","impliedFormat":1},{"version":"da51964a650a3b8d775267a55e8a590b1eb6bb605cc3f6d10830370d77135557","impliedFormat":1},{"version":"c59ab0fda36f7cdc43ef1102659954735c80c6fb721ecc2bee0019db838d3d85","impliedFormat":1},{"version":"deeaf7b68c688b0a700bb8f3f175683263c8bb3a8d4932fc44d95d56402f4fca","impliedFormat":1},{"version":"4deacd1de0cc7b1ec1d7b97e1910a809b6e4742e9b3f62e70b0f8e5c60667058","impliedFormat":1},{"version":"132aac02cd3d0c950769ea248072647dfe8fbfb4441974fba85165ed700a872f","impliedFormat":1},{"version":"41e1718c5738cd9261acc61439f2156ed3b8a3267de9805e55b3cf7d839f5063","impliedFormat":1},{"version":"4e20f9be439bf149c8f336a7d9efb1dcc785a29d8cbb73efa279f8bf883a7058","impliedFormat":1},{"version":"07e25f754a8435121d3ba0012458e3e10ae6f3fddeffebb2b1054a0579fad3ea","impliedFormat":99},{"version":"c1143d7d45dd72bae9b7c9cf204ba5a0ae1d9fa0d049c45c627d913e584f60ed","impliedFormat":99},{"version":"7d19f3777d50f0860736b2bb7e70c547164559312ded6d8b5af8b9618e1b2b90","impliedFormat":99},{"version":"dad8fae10ac74ae77baab2405ffb61a2c6bca275b1dd8b4346cfd628c464654a","impliedFormat":99},{"version":"a54557a87b49cf50256a8abd40559b6cdf3ccd3b7bcdb4f281d1776a3ae8f01c","impliedFormat":99},{"version":"853e4278fc54030c46d89f94bf961231c9f348e19963b2546a8fe960b1e6f360","impliedFormat":99},{"version":"44ce2db0aa4c1b1ea9262d06d1c991f52ab69af30e309ed0c056ddc0bc4fc384","impliedFormat":99},{"version":"ba56e7c11bd24eca78daa7147a870697ab31f3f14a9c56158ab9c26080019ab7","impliedFormat":99},{"version":"72f8901bb928702b4cc5126b4808e204730a88c6cf71b0130e693681b45b5d86","impliedFormat":99},{"version":"ed78a454cc36570b5387d5b4f34a0549cb84e683f5207e8c1092d6ca5153e013","impliedFormat":99},{"version":"24ae70199a01f1bb6004791cc18d28a90e2198a53388af111bbec1b19161f693","impliedFormat":99},{"version":"f0009b8cd0609df584a4c73a302e8839f6c6dc79807feac2b5f2831d12721964","impliedFormat":99},{"version":"4bfff36d8adb9fd4a4b6e3535d63ea898174e6c08c2075c1e5f212c4850d44c2","impliedFormat":99},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"201ced2ca97d71fe47afdaebc656c2fa63ef2784256e4dfc9eb83930f7aac2c2","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"1c8384a195a2d931cf6e2b8f656acf558ca649a3f74922d86b95889f49a7f7c5","impliedFormat":1},{"version":"26ec2c615ee349154b9cdb180a9bbd2d3e28a2646242e936cf79c1a44847ade7","impliedFormat":1},{"version":"58d82bc9a074316892f01e29122cd1fa0eb0797dc821ba77e094a1bb43546ca3","impliedFormat":99},{"version":"b4a62bd7142a56b6b066f39851a1c11f14726e471609332326e523b19c4766e9","impliedFormat":99},{"version":"39ed6150eeaa879697e524a252989e02ac9ecb810a3013835ce4e6a05ff9074c","impliedFormat":99},{"version":"da77aa3d854b204e47ef742c4ecd71cd0b020f802e13b6a7e719367e8b9ccd18","impliedFormat":99},{"version":"e67f962c7c3216ba02cc4563ff44063b36135e0fcdf92b11b0578228f6a007e4","impliedFormat":99},{"version":"56471ec726edfb50d4bc87b83e52f97de74f5d385db3db214f6e3ec2d02a3fb6","impliedFormat":99},{"version":"65f1948d68440bf5caee2365014713e739945e04927fbb56c84549736b69ac53","impliedFormat":99},{"version":"fb88fab4d4b6d826ffb174c9829440655fd56a85596982675d47181b425869ad","impliedFormat":99},{"version":"e91edb63ea25dafbd0234231e1bd34948a43ea337b3de8eca1ed15f49620deeb","impliedFormat":99},{"version":"54cb16297ded2864aa5a752ac9ff205a85931492c3bdbe8a2ec9e584acb10048","impliedFormat":99},{"version":"a2a2c2af5d853c777905747b5f8d15de05984ddbf3aed83798704577d0c1478c","impliedFormat":99},{"version":"188cae2ce1d4ac59f8527e18892de13a5aca22728f2a275a2dea370e31ded612","impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1},{"version":"6c912036816aba6f7406a087f5c4bd676231715ae77d3326a5b3a41f94787925","impliedFormat":1},{"version":"99ef20d4f63458d9d3df366645a93c65cc9a73b66e12c9664cf70495cbfb25c5","signature":"63d70bebeb99c48e3563c99e9b7435be593400a01d38e39b97d332505f37386b","impliedFormat":99},{"version":"aa3c160b7a71eb2c27665123d3ff3256bce4db6affad46b09dd00c92d609bb3b","signature":"101ec3de697c12eca5a6063192278b932516191f372356134014fa9ced87ed84","impliedFormat":99},{"version":"db8eda63482cfc7caa9d7266b8fa74b56d2802521688f191c16002e146ce1762","signature":"59ac058aaa5204116d460fa86a04116be1ce7c72242c1a78668840ae91da6aed","impliedFormat":99},{"version":"f4c3a74888704579301a63b756d6557fee2b80d9b05bd1f1dfb65f1466561053","signature":"b159d58c51aaf05af45ff2115c84aff48fe20381a9783dea9527f56ca314dfae","impliedFormat":99},{"version":"5fae41292d6f8ae3cf6b2427fed446e6fbd73a1e1a26ce91508dc1fdec750bf0","signature":"3d6ddac38a208df5536b8528db81b814b1dad3f7065cc2d950c73454cbdc9c37","impliedFormat":99},{"version":"a016d2f6c0a2c15069ec69661ad37c86a450deb629ce96a592f15f01d3a5746e","impliedFormat":1},{"version":"395403318a74fa36ac2763654407ad72ee19e69328325764871a60d86c00b603","signature":"3406faeec7316829f98bb43a93e9f5240a7154364d68b065cf24eb0ea8e7b9a2","impliedFormat":99},{"version":"30a88a3fae7029d24496d05960d70f4c323dc47d4e1b68ec61100dcd10e92ed5","signature":"1e5fe60f38ec133b9c1366e3b115004dea989316c290783341e1554c5eec580d","impliedFormat":99},{"version":"cce019926b1da16bc3860bf5e8004bfdf2df598cf18d5957dc0a0a922a3cf7ac","signature":"6a9e354485adc0324124330e2a988b14f6c7762a058255956a71b5447027f297","impliedFormat":99},{"version":"2cbc2fa631feece9327efee04df9c80891c46503feebf9f86c600dec37cc363b","signature":"ebb15d2da23a0590d8663414b64211e35dbd8b59b1f4a49c123490bfde366e34","impliedFormat":99},{"version":"7f7afc02d1ae986a0926d92ebc9ee6b09b55db80b8ffab9d0a2046cb97c7e7e2","signature":"cbc85ecace9d0376cfea8f306b624a7e4ccc017b5866a827885a62aee72f73e9","impliedFormat":99},{"version":"59350fa03c4c29a1614e43975175315cd2547828692e84b7f6a5a41b8f271125","signature":"e22367ce23b6550bd2a725dbfceebbe84db90d1fd09853aff89add6ebf537b23","impliedFormat":99},{"version":"eac647a94fb1f09789e12dfecb52dcd678d05159a4796b4e415aa15892f3b103","impliedFormat":1},{"version":"0744807211f8cd16343fb1a796f53a8f7b7f95d4bd278c48febf657679bf28e6","impliedFormat":1},{"version":"ba24033c20bafd820c54353946afb1fbb2b1ff10d881dff3e9b4280646140113","impliedFormat":1},{"version":"20c392d5eb369fff57bb5a57e9b5fd964e95adcf1f04d7e7e936665f3a36ff1e","signature":"65f8d275fa395d97a35ea6a19640ca632d131a910a90b817c63d73eae2c06cf4","impliedFormat":99},{"version":"3c16e0b9ad038a79c344567adfb298213adf72d0dc94f07f49cefa275600f596","signature":"e7dae0b5c04e3de935a44114827d359618539677c981b789519c977ccea29435","impliedFormat":99},{"version":"d0896aa30f6bbb4d113ae438a9e326266fa2c8356cc4fec5634a0c2d1d42258f","signature":"1815dd14372a8353b475e1c7f558740d7657fda5cb93096680777f24beac2ee7","impliedFormat":99},{"version":"605cbe24e8be287647c9fcfa457f05bef3c6b786ab055dca0cda9f1d08ad593d","signature":"b024464e90e3b1b44ab71c4c946ec346e78458ae54e9b4e1a6f5104339c7eb7b","impliedFormat":99},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"2a64e447812feae24358c03d19e35e208db45c30dc4a6aef605f904a81e3600d","signature":"1045b1014f6ebcd41c06c6b2a083a50919d75c54993423f34ef1e1dc702800ea","impliedFormat":99},{"version":"d9ead2632f5975ae5ad4dfd04cfe57b13172877f237b3c37b7c6826e69eef658","signature":"eb078ea12cb81006b57d54e4234fdd118f9d50ca150f93667fa3ab0b0f217a7a","impliedFormat":99},{"version":"60e7ed78b93581872585f0bbf4f4bacdfad812aaf107f04a0c2679394db2318d","impliedFormat":1},{"version":"b2728576d25b998f5427b3effcaa435bbdffa40da9bf5e2c355c89879e6302b3","impliedFormat":1},{"version":"07e25f754a8435121d3ba0012458e3e10ae6f3fddeffebb2b1054a0579fad3ea","impliedFormat":1},{"version":"c1143d7d45dd72bae9b7c9cf204ba5a0ae1d9fa0d049c45c627d913e584f60ed","impliedFormat":1},{"version":"7d19f3777d50f0860736b2bb7e70c547164559312ded6d8b5af8b9618e1b2b90","impliedFormat":1},{"version":"dad8fae10ac74ae77baab2405ffb61a2c6bca275b1dd8b4346cfd628c464654a","impliedFormat":1},{"version":"a54557a87b49cf50256a8abd40559b6cdf3ccd3b7bcdb4f281d1776a3ae8f01c","impliedFormat":1},{"version":"853e4278fc54030c46d89f94bf961231c9f348e19963b2546a8fe960b1e6f360","impliedFormat":1},{"version":"ba56e7c11bd24eca78daa7147a870697ab31f3f14a9c56158ab9c26080019ab7","impliedFormat":1},{"version":"72f8901bb928702b4cc5126b4808e204730a88c6cf71b0130e693681b45b5d86","impliedFormat":1},{"version":"ed78a454cc36570b5387d5b4f34a0549cb84e683f5207e8c1092d6ca5153e013","impliedFormat":1},{"version":"24ae70199a01f1bb6004791cc18d28a90e2198a53388af111bbec1b19161f693","impliedFormat":1},{"version":"f0009b8cd0609df584a4c73a302e8839f6c6dc79807feac2b5f2831d12721964","impliedFormat":1},{"version":"3aac496576789cec3fb9226eaa4b29593629d36b821e50dfd86f43e2b7ef1088","impliedFormat":1},{"version":"0e7ef40a2c31ddcd594c533b45dba9616f8b532e1531c35c306c6396b6ecb5ed","impliedFormat":1},{"version":"a111c946239309929ef431cfbab3e2573e2a8fb0f78fc909a6e7fe6878f7880b","impliedFormat":1},{"version":"a41aa33fb4e442ec4b5c7aefcb63ef98cf679359be7fdadd578afba09beca9c7","signature":"18bcf9107b7532212cf285c8ff1aee70d3c9bd2c85d0fea61cf8f56178f90728","impliedFormat":99},{"version":"c16757462a7a36ffcd0a7a7a1188d9a376de762d565e415dcba727fd463e8f7a","impliedFormat":99},{"version":"c236956598ca0d72e6f7d0f40a265d056ccbfb62033c52ea3246c62f0bf7ad4e","signature":"a039d418ab3619427d70b27b91477b053f0c538aa9829d26e717c1b89141ca16","impliedFormat":99},{"version":"58b63c0f3bfac04d639c31a9fe094089c0bdcc8cda7bc35f1f23828677aa7926","impliedFormat":1},{"version":"d51d662a37aa1f1b97ed4caf4f1c25832047b9bfffcc707b53aedd07cd245303","impliedFormat":1},{"version":"169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","impliedFormat":1},{"version":"ea7faa81eb85f376e2a5bce45583fe12b5343f6263f66c5595039aed1f670442","signature":"a844f8a5bd87f4964d7ae2c469c13c1b280ed13beb1676f8a59801f1a6b1ff2c","impliedFormat":99},{"version":"758ce1aa1d1f566eb03a204dd4b8df94f5515fff21db9ca6b4f74b596e6a5b3d","signature":"cb09e5d416854e3bbf76af2fa4d3d2c420c9ecdc06d0eeef917cdcb99fa39c56","impliedFormat":99},{"version":"ba3540935e71445e26f4dacd47f460ff645b81df88fcb8b2c112bfb88941b80e","signature":"34222bc9b1f5cce5bc0d3fd7492605d76e25ad4bf2f953ef72587db11519a00c","impliedFormat":99},{"version":"7739a9f7d272881ef01f9f544631adb4a24c61668ca2535f155121ab1302f4ea","signature":"056de4b1e15d949f9fbe263b512af8ccc382d68c5f9f476b45dc3ad1cab586db","impliedFormat":99},{"version":"44c93b14977275e9bf70888b17f04d4b22ce283b7781919cf7f6a4904826031e","signature":"3975ba4ea69d736ccd0fcc4c8e978d9eeed7d2413d0365d945f08bfdc4968247","impliedFormat":99},{"version":"0c19437a0f8516a319ab49ffae4bba1fed1380c33fb0cd021a7499eb1cb4f9eb","signature":"5d5d77e929d44cd4b2ad24c58ed7aff7b52a984d49b837f638d4f54c03b99842","impliedFormat":99},{"version":"36d8d81656bd1157e4147e81a8b332f353593da0cc91425e4c15eed7af023a0f","signature":"29a49537a7a56b9aaa60ae302bb8c9a8ed12c18bf42b34b37268cd5f93e0499b","impliedFormat":99},{"version":"73bef9f573f805d52d2bbf2ceb34a3a6d1a3366ce97573445dea659cc0c5c508","signature":"98a6490e935f87d62a746fb3536fa19f246422be96066b5035dfcd055376dfb9","impliedFormat":99},{"version":"ec596fa2357df1b2702e42bcba645422eb727ab5c81136f78590f21a100286e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"08d95e4bdb24b6e9215c10437a848b54148bc028e00c8809b5c2bb22d2411090","impliedFormat":1},{"version":"8622b4124d58b26af7f567ff92412ef55dd179f0069d89caf5318e1e23c76d78","signature":"4b86d319322eceab47df4615d477090f861f1fb2277f2c3b3669de936a04cba0","impliedFormat":99},{"version":"9aaece2c653dde9bec3a0b2f02631bd5c6a44df534fe63b54c56903af6497c3d","signature":"4c874f65b787ab07949057baecd8e5bfd36daf6b010e156586ff7d1e9e599ed6","impliedFormat":99},{"version":"5b3248325d05bfa3e8db33b5f11ab80a6e19b2e1d4ade260ceb5f3dddffe89f4","signature":"1d3ea1a476dc97c03d842b17f4f9745bb7421ca930c2bba29acf2e2c768049ac","impliedFormat":99},{"version":"5de0e270166e66a774fcabea481b6ca21e1bac88871280a943c57e0a07247b94","signature":"7ef400b9a7a87c895fc1d298250b55d607edab25db06f4f7f0b65d57a47f337e","impliedFormat":99},{"version":"0f0985170bbb5c42dfbba706419d6350c0aefd852a675ce35aa2c6a8bce0553c","signature":"55f4516d42fd063150faa1f35de1374d66a2dc1736f593c2df2c928b71f21b75","impliedFormat":99},{"version":"bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","impliedFormat":1},{"version":"1d02fdfac2aef5dcc9973b7e5e9da26982009039bd0ba480e51acf6a9ddc8e17","signature":"70611a79a4693ba348bcb7cee611663de47439451f4172ca08f21757db5ce11b","impliedFormat":99},{"version":"c3f3c70a66ceb19ba29335c19094f6280affe5278864b14d62c5fb51768e43ec","signature":"f5a5abf55224e42ea7d00e76900751c6f67f579693f20eed1a4bf116c619d890","impliedFormat":99},{"version":"81422217b2f789bfea439fcdc258cda25892797a59ea8b2f1cf49ef470d3e263","signature":"e1167066ee5ce84ec1ec02a537cd658aa87819f7460e18410a137af0b5fd4656","impliedFormat":99},{"version":"dc3b172ee27054dbcedcf5007b78c256021db936f6313a9ce9a3ecbb503fd646","impliedFormat":1},{"version":"6a9eb9c5d3f7474937973fe4b0a9e53025634c2e39118eda436d89f3e9df976f","affectsGlobalScope":true,"impliedFormat":1},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true,"impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","impliedFormat":1},{"version":"3b43f7224c99344262753af8fc1bb66cf0dc36fb15de92a190af88502c6256f6","impliedFormat":1},{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"be00321090ed100e3bd1e566c0408004137e73feb19d6380eba57d68519ff6c5","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"d4a22007b481fe2a2e6bfd3a42c00cd62d41edb36d30fc4697df2692e9891fc8","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"c67a7b7eec0175ea53343429d32897fcad406c663ba4b775eab8be8164bff91c","affectsGlobalScope":true,"impliedFormat":1},{"version":"4113fcb657953db88a125082f517a4b51083526a18765e90f2401a5dbb864d7e","impliedFormat":1},{"version":"8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","impliedFormat":1},{"version":"e729ea1477029d2c5359a3e98b3a2f3d27c795a8bb57a0846b1e962a80f0febe","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"9b4f7ff9681448c72abe38ea8eefd7ffe0c3aefe495137f02012a08801373f71","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"6ded4be4f8a693d0c1646dfa2f1b6582e34b73c66ce334cb5e86c7bf8c2e52b7","impliedFormat":1},{"version":"b3a24e1c22dd4fde2ce413fb8244e5fa8773ffca88e8173c780845c9856aef73","impliedFormat":1},{"version":"327fddc7dd391f1e62262dafe41fc9cabedb4a5758a5cfce979cebab1456abb8","impliedFormat":1},{"version":"7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","impliedFormat":1},{"version":"5adc55aaebfb20914e274a1202b5c78638260364997d724dec52d7b2704b461c","impliedFormat":1},{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true,"impliedFormat":1},{"version":"c130f9616a960edc892aa0eb7a8a59f33e662c561474ed092c43a955cdb91dab","impliedFormat":1},{"version":"b9d02ff98f8c5da182f415c7152b0da746346b0a15e6a93d772eff0c72165b9d","impliedFormat":1}],"root":[[211,215],[217,222],[226,229],270,271,288,290,[294,301],[304,308],[310,312]],"options":{"allowJs":true,"checkJs":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSourceMap":false,"module":199,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useUnknownInCatchVariables":false},"referencedMap":[[174,1],[170,2],[169,3],[171,2],[172,2],[173,4],[287,5],[272,6],[285,7],[286,8],[273,6],[313,6],[315,9],[314,6],[316,10],[207,11],[317,6],[225,12],[166,13],[318,14],[320,15],[321,16],[322,6],[164,17],[165,6],[309,14],[323,15],[293,6],[324,6],[325,6],[326,6],[206,6],[327,16],[328,14],[329,18],[111,19],[112,19],[113,20],[114,21],[115,22],[116,23],[66,6],[69,24],[67,6],[68,6],[117,25],[118,26],[119,27],[120,28],[121,29],[122,30],[123,30],[125,31],[124,32],[126,33],[127,34],[128,35],[110,36],[129,37],[130,38],[131,39],[132,40],[133,41],[134,42],[135,43],[136,44],[137,45],[138,46],[139,47],[140,48],[141,49],[142,49],[143,50],[144,6],[145,51],[147,52],[146,53],[148,54],[149,55],[150,56],[151,57],[152,58],[153,59],[154,60],[71,61],[70,6],[163,62],[155,63],[156,64],[157,65],[158,66],[159,67],[160,68],[161,69],[162,70],[330,6],[338,71],[337,72],[336,71],[339,6],[303,73],[216,6],[302,6],[254,74],[255,75],[230,76],[233,76],[252,74],[253,74],[243,74],[242,77],[240,74],[235,74],[248,74],[246,74],[250,74],[234,74],[247,74],[251,74],[236,74],[237,74],[249,74],[231,74],[238,74],[239,74],[241,74],[245,74],[256,78],[244,74],[232,74],[269,79],[268,6],[263,78],[265,80],[264,78],[257,78],[258,78],[260,78],[262,78],[266,80],[267,80],[259,80],[261,80],[342,81],[341,82],[340,6],[292,83],[343,84],[188,6],[319,6],[344,85],[208,6],[209,86],[210,87],[223,6],[289,6],[72,6],[224,88],[205,6],[168,89],[189,90],[291,91],[335,92],[332,14],[334,93],[333,6],[331,6],[167,94],[60,6],[61,6],[12,6],[11,6],[2,6],[13,6],[14,6],[15,6],[16,6],[17,6],[18,6],[19,6],[20,6],[3,6],[21,6],[4,6],[22,6],[26,6],[23,6],[24,6],[25,6],[27,6],[28,6],[29,6],[5,6],[30,6],[31,6],[32,6],[33,6],[6,6],[37,6],[34,6],[35,6],[36,6],[38,6],[7,6],[39,6],[44,6],[45,6],[40,6],[41,6],[42,6],[43,6],[8,6],[49,6],[46,6],[47,6],[48,6],[50,6],[9,6],[51,6],[52,6],[53,6],[56,6],[54,6],[55,6],[57,6],[58,6],[10,6],[59,6],[1,6],[88,95],[98,96],[87,95],[108,97],[79,98],[78,99],[107,14],[101,100],[106,101],[81,102],[95,103],[80,104],[104,105],[76,106],[75,14],[105,107],[77,108],[82,109],[83,6],[86,109],[73,6],[109,110],[99,111],[90,112],[91,113],[93,114],[89,115],[92,116],[102,14],[84,117],[85,118],[94,119],[74,120],[97,111],[96,109],[100,6],[103,121],[190,122],[193,123],[191,14],[192,124],[312,125],[213,126],[221,127],[214,128],[222,129],[218,130],[215,131],[226,132],[228,133],[220,134],[229,135],[227,136],[217,137],[211,138],[212,139],[311,140],[270,139],[288,141],[300,6],[306,142],[296,6],[295,143],[299,144],[310,145],[219,146],[307,147],[298,148],[290,149],[297,150],[301,151],[294,152],[304,153],[308,154],[305,155],[271,156],[274,6],[275,157],[203,158],[202,6],[197,6],[200,6],[199,159],[175,6],[198,6],[201,6],[176,160],[204,161],[194,162],[187,163],[181,164],[196,165],[195,163],[276,166],[177,148],[284,167],[280,6],[283,6],[282,168],[281,169],[186,170],[182,6],[185,6],[184,171],[183,172],[279,173],[278,6],[277,174],[180,175],[179,6],[178,176],[64,6],[65,177],[63,178],[62,6]],"latestChangedDtsFile":"./esm/index.d.ts","version":"5.6.3"}
|
|
1
|
+
{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../types-dev/utils.d.ts","../../types-dev/objects.d.ts","../../types-dev/config.d.ts","../../types-dev/index.d.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/jsonfile/index.d.ts","../../../node_modules/@types/jsonfile/utils.d.ts","../../../node_modules/@types/fs-extra/index.d.ts","../../../node_modules/promisify-child-process/index.d.ts","../../../node_modules/execa/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/package-manager.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/npm/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-berry/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/package-managers/yarn-classic/index.d.ts","../../../node_modules/@alcalzone/pak/build/lib/pak.d.ts","../../../node_modules/@alcalzone/pak/build/index.d.ts","../../common-db/build/esm/lib/common/maybeCallback.d.ts","../../common-db/build/esm/lib/common/tools.d.ts","../../db-base/build/esm/lib/inMemFileDB.d.ts","../../db-states-redis/build/esm/lib/states/statesInRedisClient.d.ts","../../db-states-redis/build/esm/lib/states/interview.d.ts","../../db-states-redis/build/esm/index.d.ts","../../common/build/esm/lib/common/states.d.ts","../../db-objects-redis/build/esm/lib/objects/constants.d.ts","../../db-objects-redis/build/esm/lib/objects/objectsUtils.d.ts","../../db-objects-redis/build/esm/lib/objects/objectsInRedisClient.d.ts","../../db-objects-redis/build/esm/lib/objects/interview.d.ts","../../db-objects-redis/build/esm/index.d.ts","../../common/build/esm/lib/common/objects.d.ts","../../../node_modules/@types/triple-beam/index.d.ts","../../../node_modules/logform/index.d.ts","../../../node_modules/winston-transport/index.d.ts","../../../node_modules/winston/lib/winston/config/index.d.ts","../../../node_modules/winston/lib/winston/transports/index.d.ts","../../../node_modules/winston/index.d.ts","../../common/build/esm/lib/common/notificationHandler.d.ts","../../common/build/esm/lib/common/zipFiles.d.ts","../../common/build/esm/lib/common/tools.d.ts","../../common-db/build/esm/lib/common/exitCodes.d.ts","../../common-db/build/esm/lib/common/password.d.ts","../../common-db/build/esm/lib/common/logger.d.ts","../../common-db/build/esm/lib/common/interview.d.ts","../../common-db/build/esm/lib/common/session.d.ts","../../common-db/build/esm/lib/common/constants.d.ts","../../common-db/build/esm/index.d.ts","../../common/build/esm/index.d.ts","../../../node_modules/deep-clone/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/yargs/yargs.d.ts","../src/lib/cli/cliTools.ts","../src/lib/cli/messages.ts","../src/lib/_Types.ts","../src/lib/cli/cliCommand.ts","../src/lib/cli/cliHost.ts","../../../node_modules/@types/readline-sync/index.d.ts","../src/lib/cli/cliStates.ts","../src/lib/cli/cliDebug.ts","../src/lib/setup/setupList.ts","../src/lib/cli/cliObjects.ts","../src/lib/cli/cliCert.ts","../src/lib/cli/cliCompact.ts","../../../node_modules/anymatch/index.d.ts","../../../node_modules/chokidar/types/index.d.ts","../../../node_modules/@types/event-stream/index.d.ts","../src/lib/cli/cliLogs.ts","../src/lib/cli/cliProcess.ts","../src/lib/cli/cliMessage.ts","../src/lib/cli/cliPlugin.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../src/lib/setup/customError.ts","../src/lib/setup/utils.ts","../../../node_modules/@iobroker/plugin-base/build/esm/lib/NamespaceLogger.d.ts","../../../node_modules/@iobroker/plugin-base/build/esm/types.d.ts","../../common-db/build/cjs/lib/common/maybeCallback.d.ts","../../common-db/build/cjs/lib/common/tools.d.ts","../../db-base/build/cjs/lib/inMemFileDB.d.ts","../../db-states-redis/build/cjs/lib/states/statesInRedisClient.d.ts","../../db-states-redis/build/cjs/lib/states/interview.d.ts","../../db-states-redis/build/cjs/index.d.ts","../../db-objects-redis/build/cjs/lib/objects/constants.d.ts","../../db-objects-redis/build/cjs/lib/objects/objectsUtils.d.ts","../../db-objects-redis/build/cjs/lib/objects/objectsInRedisClient.d.ts","../../db-objects-redis/build/cjs/lib/objects/interview.d.ts","../../db-objects-redis/build/cjs/index.d.ts","../../../node_modules/@iobroker/plugin-base/build/esm/lib/PluginBase.d.ts","../../../node_modules/@iobroker/plugin-base/build/esm/lib/PluginHandler.d.ts","../../../node_modules/@iobroker/plugin-base/build/esm/index.d.ts","../src/lib/setup/dbConnection.ts","../../../node_modules/axios/index.d.ts","../src/lib/setup/setupRepo.ts","../../../node_modules/minizlib/node_modules/minipass/dist/esm/index.d.ts","../../../node_modules/minizlib/dist/esm/constants.d.ts","../../../node_modules/minizlib/dist/esm/index.d.ts","../../../node_modules/tar/node_modules/minipass/dist/esm/index.d.ts","../../../node_modules/tar/dist/esm/types.d.ts","../../../node_modules/tar/dist/esm/header.d.ts","../../../node_modules/tar/dist/esm/pax.d.ts","../../../node_modules/tar/dist/esm/read-entry.d.ts","../../../node_modules/tar/dist/esm/warn-method.d.ts","../../../node_modules/tar/dist/esm/write-entry.d.ts","../../../node_modules/tar/dist/esm/options.d.ts","../../../node_modules/tar/node_modules/yallist/dist/esm/index.d.ts","../../../node_modules/tar/dist/esm/pack.d.ts","../../../node_modules/tar/dist/esm/make-command.d.ts","../../../node_modules/tar/dist/esm/create.d.ts","../../../node_modules/tar/dist/esm/cwd-error.d.ts","../../../node_modules/tar/dist/esm/symlink-error.d.ts","../../../node_modules/tar/dist/esm/mkdir.d.ts","../../../node_modules/tar/dist/esm/parse.d.ts","../../../node_modules/tar/dist/esm/path-reservations.d.ts","../../../node_modules/tar/dist/esm/unpack.d.ts","../../../node_modules/tar/dist/esm/extract.d.ts","../../../node_modules/tar/dist/esm/list.d.ts","../../../node_modules/tar/dist/esm/replace.d.ts","../../../node_modules/tar/dist/esm/update.d.ts","../../../node_modules/tar/dist/esm/index.d.ts","../../../node_modules/@types/mime-types/index.d.ts","../src/lib/setup/setupUpload.ts","../src/lib/setup/setupBackup.ts","../src/lib/setup/pluginInfos.ts","../src/lib/setup/setupSetup.ts","../src/lib/setup/setupPacketManager.ts","../src/lib/setup/setupInstall.ts","../src/lib/setup/formatters.ts","../src/lib/setup/setupUpgrade.ts","../../../node_modules/@types/revalidator/index.d.ts","../../../node_modules/@types/prompt/index.d.ts","../src/lib/setup/setupUsers.ts","../src/lib/setup/setupVisDebug.ts","../src/lib/setup/multihostClient.ts","../src/lib/setup/setupMultihost.ts","../src/lib/setup/setupVendor.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../src/lib/setup/setupLicense.ts","../src/lib/setup.ts","../src/index.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/glossy/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/ioredis/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/mysql/index.d.ts","../../../node_modules/@types/node-forge/index.d.ts","../../../node_modules/@types/node-schedule/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/pg-types/index.d.ts","../../../node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/@types/pg/index.d.ts","../../../node_modules/@types/pg-pool/index.d.ts","../../../node_modules/@types/pidusage/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/sinon-chai/index.d.ts","../../../node_modules/minipass/index.d.ts","../../../node_modules/@types/tar/index.d.ts","../../../node_modules/@types/tedious/index.d.ts","../../../node_modules/@types/winston-syslog/index.d.ts"],"fileIdsList":[[71,114,169,173],[71,114,169],[71,114,145,163,168],[71,114,169,170,171,172],[71,114,273,285,286],[71,114],[71,114,272,273,279,284],[71,114,273,279,284,285],[71,114,338],[71,114,129,163],[71,114,206],[71,114,145,163],[71,114,127,163,164,165],[71,114,163],[71,114,343],[71,114,126,145,153,163],[71,114,127,156,163],[71,114,126,163],[71,111,114],[71,113,114],[114],[71,114,119,148],[71,114,115,120,126,127,134,145,156],[71,114,115,116,126,134],[66,67,68,71,114],[71,114,117,157],[71,114,118,119,127,135],[71,114,119,145,153],[71,114,120,122,126,134],[71,113,114,121],[71,114,122,123],[71,114,126],[71,114,124,126],[71,113,114,126],[71,114,126,127,128,145,156],[71,114,126,127,128,141,145,148],[71,109,114,161],[71,114,122,126,129,134,145,156],[71,114,126,127,129,130,134,145,153,156],[71,114,129,131,145,153,156],[69,70,71,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],[71,114,126,132],[71,114,133,156,161],[71,114,122,126,134,145],[71,114,135],[71,114,136],[71,113,114,137],[71,111,112,113,114,115,116,117,118,119,120,121,122,123,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162],[71,114,139],[71,114,140],[71,114,126,141,142],[71,114,141,143,157,159],[71,114,126,145,146,147,148],[71,114,145,147],[71,114,145,146],[71,114,148],[71,114,149],[71,111,114,145],[71,114,126,151,152],[71,114,151,152],[71,114,119,134,145,153],[71,114,154],[71,114,134,155],[71,114,129,140,156],[71,114,119,157],[71,114,145,158],[71,114,133,159],[71,114,160],[71,114,119,126,128,137,145,156,159,161],[71,114,145,162],[71,114,359],[71,114,126,145,153,163,353,354,357,358,359],[71,114,126,155,163,326],[71,114,230,269],[71,114,230,254,269],[71,114,269],[71,114,230],[71,114,230,255,269],[71,114,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268],[71,114,255,269],[71,114,338,363],[71,114,362],[71,114,127,145,162,163,365],[71,114,126,153,163],[71,114,120,134,163,190,342],[71,114,208],[71,114,209],[71,114,126,127,163,223],[71,114,115,145,163],[71,114,188],[71,114,126,145,163],[71,114,162,291,292],[71,114,126,149],[71,114,163,354,355,356],[71,114,145,163,354],[71,114,115],[71,114,303,304],[71,114,304,311],[71,114,295],[71,114,295,296,297,298,300,301,303,305,309,311,312,313,314,315],[71,114,301,304,309],[71,114,301],[71,114,306,307],[71,114,127,293,298,299,300],[71,114,127,291,293,298,299,300,301,302],[71,114,126,293,297,298,299,301],[71,114,296],[71,114,291,295,296,297],[71,114,304],[71,114,127,298,299,301,307,308,309,310],[71,114,291],[71,114,127,291,295,296,298,299,301],[71,81,85,114,156],[71,81,114,145,156],[71,76,114],[71,78,81,114,153,156],[71,114,134,153],[71,76,114,163],[71,78,81,114,134,156],[71,73,74,77,80,114,126,145,156],[71,81,88,114],[71,73,79,114],[71,81,102,103,114],[71,77,81,114,148,156,163],[71,102,114,163],[71,75,76,114,163],[71,81,114],[71,75,76,77,78,79,80,81,82,83,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,114],[71,81,96,114],[71,81,88,89,114],[71,79,81,89,90,114],[71,80,114],[71,73,76,81,114],[71,81,85,89,90,114],[71,85,114],[71,79,81,84,114,156],[71,73,78,81,88,114],[71,114,145],[71,76,81,102,114,161,163],[71,114,145,163,189],[71,114,145,163,189,190,191,192],[71,114,129,163,190],[65,71,114,213,288,318,319,322,325,332,335],[71,114,180,186],[71,114,204,212,214,220],[71,114,213],[71,114,166,204,212,214],[71,114,115,204,211,212,214],[71,114,135,166,186,204,211,212,214],[71,114,133,135,166,204,214,224,225],[71,114,180,211,212,214],[71,114,141,180,186,204,211,212,214,216,219],[71,114,133,136,166,204,211,212,214],[71,114,115,135,136,152,166,180,186,204,205,211,212,214],[71,114,186,204,211,212,214,216],[71,114,186,204],[71,114,204],[71,114,115,126,133,136,141,156,157,166,202,204,205,207,210,211,212,214,215,217,218,219,220,221,222,226,227,228,229,270,271,288,290,318,319,321,323,324,325,328,329,331,332,334],[71,114,136,152,166,180,186,204,213,287],[71,114,119,120,204],[71,114,128,136,166,167,180,186,204,213,227,270,288,316,318],[71,114,115,133,136,156,166,174,180,186,202,204,213,269,270,271,289,318,322],[71,114,166,186,204,333],[71,114,166,180,186,204],[71,114,136,141,166,186,204,216,327,330],[71,114,176],[71,114,136,166,180,186,202,204,271,289],[71,114,119,133,135,136,156,166,176,180,186,202,204,205,213,216,288,318,319,320],[71,114,136,155,166,180,186,204,207,213,216,269,270,271,318,323],[71,114,136,157,166,176,180,186,204,205,289,317],[71,114,186,204,213,327],[71,114,119,157,166,176,186,204,205],[71,114,136,166,186,204,213],[71,114,186,204,269,270],[71,114,115,167,174,274],[71,114,176,197,198,199,200,201,202],[71,114,193],[71,114,115,167,174,175],[71,114,181,187,194,195,196,203],[71,114,180,186,193],[71,114,186],[71,114,180],[71,114,176,186],[71,114,275],[71,114,281,282,283],[71,114,275,276,281],[71,114,280],[71,114,183,184,185],[71,114,176,177,183],[71,114,182],[71,114,277,278],[71,114,275,276],[71,114,178,179],[71,114,176,177],[62,63,64,71,114,127],[62,71,114,135]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"e12a40ba307d38757b6f0637958d945de7442dbd0986fd3e4f7a61cc65b3bc61","impliedFormat":1},{"version":"5567e9acad90417ea240e313752ea74443325468659ac3eafe836f33befeece5","affectsGlobalScope":true,"impliedFormat":1},{"version":"67c8132c5c59c33d70fb0938ed46838dc17771c85de656dcd70376a5db47c362","impliedFormat":1},{"version":"aeedd08b2d610912d4260c28ab76108b2ef84ad81e594f36ba2bbe042401ce37","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fd06258805d26c72f5997e07a23155d322d5f05387adb3744a791fe6a0b042d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"ca6d304b929748ea15c33f28c1f159df18a94470b424ab78c52d68d40a41e1e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"a72ffc815104fb5c075106ebca459b2d55d07862a773768fce89efc621b3964b","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"3d77c73be94570813f8cadd1f05ebc3dc5e2e4fdefe4d340ca20cd018724ee36","impliedFormat":1},{"version":"d674383111e06b6741c4ad2db962131b5b0fa4d0294b998566c635e86195a453","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e58c4c18a031cbb17abec7a4ad0bd5ae9fc70c1f4ba1e7fb921ad87c504aca","impliedFormat":1},{"version":"a3e8bafb2af8e850c644f4be7f5156cf7d23b7bfdc3b786bd4d10ed40329649c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"f77d9188e41291acf14f476e931972460a303e1952538f9546e7b370cb8d0d20","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0c0d1d13be149f790a75b381b413490f98558649428bb916fd2d71a3f47a134","impliedFormat":1},{"version":"3c884d9d9ec454bdf0d5a0b8465bf8297d2caa4d853851d92cc417ac6f30b969","impliedFormat":1},{"version":"5a369483ac4cfbdf0331c248deeb36140e6907db5e1daed241546b4a2055f82c","impliedFormat":1},{"version":"e8f5b5cc36615c17d330eaf8eebbc0d6bdd942c25991f96ef122f246f4ff722f","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"4d7da7075068195f8f127f41c61e304cdca5aafb1be2d0f4fb67c6b4c3e98d50","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4bdde4e601e9554a844e1e0d0ccfa05e183ef9d82ab3ac25f17c1709033d360","impliedFormat":1},{"version":"ad23fd126ff06e72728dd7bfc84326a8ca8cec2b9d2dac0193d42a777df0e7d8","impliedFormat":1},{"version":"9dd9f50652a176469e85fb65aa081d2e7eb807e2c476f378233de4f1f6604962","impliedFormat":1},{"version":"93bd413918fa921c8729cef45302b24d8b6c7855d72d5bf82d3972595ae8dcbf","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"dccdf1677e531e33f8ac961a68bc537418c9a414797c1ea7e91307501cdc3f5e","impliedFormat":1},{"version":"7edec695cdb707c7146ac34c44ca364469c7ea504344b3206c686e79f61b61a2","affectsGlobalScope":true,"impliedFormat":1},{"version":"d206b4baf4ddcc15d9d69a9a2f4999a72a2c6adeaa8af20fa7a9960816287555","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"70731d10d5311bd4cf710ef7f6539b62660f4b0bfdbb3f9fbe1d25fe6366a7fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"a20f1e119615bf7632729fd89b6c0b5ffdc2df3b512d6304146294528e3ebe19","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"137c2894e8f3e9672d401cc0a305dc7b1db7c69511cf6d3970fb53302f9eae09","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"235bfb54b4869c26f7e98e3d1f68dbfc85acf4cf5c38a4444a006fbf74a8a43d","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"bb715efb4857eb94539eafb420352105a0cff40746837c5140bf6b035dd220ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"fdedf82878e4c744bc2a1c1e802ae407d63474da51f14a54babe039018e53d8f","affectsGlobalScope":true,"impliedFormat":1},{"version":"08353b04a3501d84fc8d7b49de99f6c1cc26026e6d9d697a18315f3bfe92ed03","affectsGlobalScope":true,"impliedFormat":1},{"version":"578d8bb6dcb2a1c03c4c3f8eb71abc9677e1a5c788b7f24848e3138ce17f3400","impliedFormat":1},{"version":"4f029899f9bae07e225c43aef893590541b2b43267383bf5e32e3a884d219ed5","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"5b566927cad2ed2139655d55d690ffa87df378b956e7fe1c96024c4d9f75c4cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"bce947017cb7a2deebcc4f5ba04cead891ce6ad1602a4438ae45ed9aa1f39104","affectsGlobalScope":true,"impliedFormat":1},{"version":"efeedd8bbc5c0d53e760d8b120a010470722982e6ae14de8d1bcff66ebc2ae71","impliedFormat":1},{"version":"e2c72c065a36bc9ab2a00ac6a6f51e71501619a72c0609defd304d46610487a4","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"616075a6ac578cf5a013ee12964188b4412823796ce0b202c6f1d2e4ca8480d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"cac793cc47c29e26e4ac3601dcb00b4435ebed26203485790e44f2ad8b6ad847","impliedFormat":1},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},{"version":"45e2f08258e671e67a177bd9057e785956c23b2542308f9559db037fe1114105","impliedFormat":1},{"version":"da51964a650a3b8d775267a55e8a590b1eb6bb605cc3f6d10830370d77135557","impliedFormat":1},{"version":"c59ab0fda36f7cdc43ef1102659954735c80c6fb721ecc2bee0019db838d3d85","impliedFormat":1},{"version":"deeaf7b68c688b0a700bb8f3f175683263c8bb3a8d4932fc44d95d56402f4fca","impliedFormat":1},{"version":"4deacd1de0cc7b1ec1d7b97e1910a809b6e4742e9b3f62e70b0f8e5c60667058","impliedFormat":1},{"version":"132aac02cd3d0c950769ea248072647dfe8fbfb4441974fba85165ed700a872f","impliedFormat":1},{"version":"41e1718c5738cd9261acc61439f2156ed3b8a3267de9805e55b3cf7d839f5063","impliedFormat":1},{"version":"4e20f9be439bf149c8f336a7d9efb1dcc785a29d8cbb73efa279f8bf883a7058","impliedFormat":1},{"version":"07e25f754a8435121d3ba0012458e3e10ae6f3fddeffebb2b1054a0579fad3ea","impliedFormat":99},{"version":"c1143d7d45dd72bae9b7c9cf204ba5a0ae1d9fa0d049c45c627d913e584f60ed","impliedFormat":99},{"version":"7d19f3777d50f0860736b2bb7e70c547164559312ded6d8b5af8b9618e1b2b90","impliedFormat":99},{"version":"dad8fae10ac74ae77baab2405ffb61a2c6bca275b1dd8b4346cfd628c464654a","impliedFormat":99},{"version":"a54557a87b49cf50256a8abd40559b6cdf3ccd3b7bcdb4f281d1776a3ae8f01c","impliedFormat":99},{"version":"853e4278fc54030c46d89f94bf961231c9f348e19963b2546a8fe960b1e6f360","impliedFormat":99},{"version":"44ce2db0aa4c1b1ea9262d06d1c991f52ab69af30e309ed0c056ddc0bc4fc384","impliedFormat":99},{"version":"ba56e7c11bd24eca78daa7147a870697ab31f3f14a9c56158ab9c26080019ab7","impliedFormat":99},{"version":"72f8901bb928702b4cc5126b4808e204730a88c6cf71b0130e693681b45b5d86","impliedFormat":99},{"version":"ed78a454cc36570b5387d5b4f34a0549cb84e683f5207e8c1092d6ca5153e013","impliedFormat":99},{"version":"24ae70199a01f1bb6004791cc18d28a90e2198a53388af111bbec1b19161f693","impliedFormat":99},{"version":"f0009b8cd0609df584a4c73a302e8839f6c6dc79807feac2b5f2831d12721964","impliedFormat":99},{"version":"4bfff36d8adb9fd4a4b6e3535d63ea898174e6c08c2075c1e5f212c4850d44c2","impliedFormat":99},{"version":"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc","impliedFormat":1},{"version":"201ced2ca97d71fe47afdaebc656c2fa63ef2784256e4dfc9eb83930f7aac2c2","impliedFormat":1},{"version":"d8b8a5a6bf623239d5374ad4a7ff6f3b195ab5ee61293f59f1957e90d2a22809","impliedFormat":1},{"version":"35d283eca7dc0a0c7b099f5fbbf0678b87f3d837572cd5e539ba297ad9837e68","impliedFormat":1},{"version":"1c8384a195a2d931cf6e2b8f656acf558ca649a3f74922d86b95889f49a7f7c5","impliedFormat":1},{"version":"26ec2c615ee349154b9cdb180a9bbd2d3e28a2646242e936cf79c1a44847ade7","impliedFormat":1},{"version":"58d82bc9a074316892f01e29122cd1fa0eb0797dc821ba77e094a1bb43546ca3","impliedFormat":99},{"version":"b4a62bd7142a56b6b066f39851a1c11f14726e471609332326e523b19c4766e9","impliedFormat":99},{"version":"39ed6150eeaa879697e524a252989e02ac9ecb810a3013835ce4e6a05ff9074c","impliedFormat":99},{"version":"da77aa3d854b204e47ef742c4ecd71cd0b020f802e13b6a7e719367e8b9ccd18","impliedFormat":99},{"version":"e67f962c7c3216ba02cc4563ff44063b36135e0fcdf92b11b0578228f6a007e4","impliedFormat":99},{"version":"56471ec726edfb50d4bc87b83e52f97de74f5d385db3db214f6e3ec2d02a3fb6","impliedFormat":99},{"version":"65f1948d68440bf5caee2365014713e739945e04927fbb56c84549736b69ac53","impliedFormat":99},{"version":"fb88fab4d4b6d826ffb174c9829440655fd56a85596982675d47181b425869ad","impliedFormat":99},{"version":"e91edb63ea25dafbd0234231e1bd34948a43ea337b3de8eca1ed15f49620deeb","impliedFormat":99},{"version":"54cb16297ded2864aa5a752ac9ff205a85931492c3bdbe8a2ec9e584acb10048","impliedFormat":99},{"version":"a2a2c2af5d853c777905747b5f8d15de05984ddbf3aed83798704577d0c1478c","impliedFormat":99},{"version":"188cae2ce1d4ac59f8527e18892de13a5aca22728f2a275a2dea370e31ded612","impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1},{"version":"6c912036816aba6f7406a087f5c4bd676231715ae77d3326a5b3a41f94787925","impliedFormat":1},{"version":"99ef20d4f63458d9d3df366645a93c65cc9a73b66e12c9664cf70495cbfb25c5","signature":"63d70bebeb99c48e3563c99e9b7435be593400a01d38e39b97d332505f37386b","impliedFormat":99},{"version":"aa3c160b7a71eb2c27665123d3ff3256bce4db6affad46b09dd00c92d609bb3b","signature":"101ec3de697c12eca5a6063192278b932516191f372356134014fa9ced87ed84","impliedFormat":99},{"version":"db8eda63482cfc7caa9d7266b8fa74b56d2802521688f191c16002e146ce1762","signature":"59ac058aaa5204116d460fa86a04116be1ce7c72242c1a78668840ae91da6aed","impliedFormat":99},{"version":"f4c3a74888704579301a63b756d6557fee2b80d9b05bd1f1dfb65f1466561053","signature":"b159d58c51aaf05af45ff2115c84aff48fe20381a9783dea9527f56ca314dfae","impliedFormat":99},{"version":"5fae41292d6f8ae3cf6b2427fed446e6fbd73a1e1a26ce91508dc1fdec750bf0","signature":"3d6ddac38a208df5536b8528db81b814b1dad3f7065cc2d950c73454cbdc9c37","impliedFormat":99},{"version":"a016d2f6c0a2c15069ec69661ad37c86a450deb629ce96a592f15f01d3a5746e","impliedFormat":1},{"version":"395403318a74fa36ac2763654407ad72ee19e69328325764871a60d86c00b603","signature":"3406faeec7316829f98bb43a93e9f5240a7154364d68b065cf24eb0ea8e7b9a2","impliedFormat":99},{"version":"30a88a3fae7029d24496d05960d70f4c323dc47d4e1b68ec61100dcd10e92ed5","signature":"1e5fe60f38ec133b9c1366e3b115004dea989316c290783341e1554c5eec580d","impliedFormat":99},{"version":"cce019926b1da16bc3860bf5e8004bfdf2df598cf18d5957dc0a0a922a3cf7ac","signature":"6a9e354485adc0324124330e2a988b14f6c7762a058255956a71b5447027f297","impliedFormat":99},{"version":"2cbc2fa631feece9327efee04df9c80891c46503feebf9f86c600dec37cc363b","signature":"ebb15d2da23a0590d8663414b64211e35dbd8b59b1f4a49c123490bfde366e34","impliedFormat":99},{"version":"7f7afc02d1ae986a0926d92ebc9ee6b09b55db80b8ffab9d0a2046cb97c7e7e2","signature":"cbc85ecace9d0376cfea8f306b624a7e4ccc017b5866a827885a62aee72f73e9","impliedFormat":99},{"version":"59350fa03c4c29a1614e43975175315cd2547828692e84b7f6a5a41b8f271125","signature":"e22367ce23b6550bd2a725dbfceebbe84db90d1fd09853aff89add6ebf537b23","impliedFormat":99},{"version":"eac647a94fb1f09789e12dfecb52dcd678d05159a4796b4e415aa15892f3b103","impliedFormat":1},{"version":"0744807211f8cd16343fb1a796f53a8f7b7f95d4bd278c48febf657679bf28e6","impliedFormat":1},{"version":"ba24033c20bafd820c54353946afb1fbb2b1ff10d881dff3e9b4280646140113","impliedFormat":1},{"version":"20c392d5eb369fff57bb5a57e9b5fd964e95adcf1f04d7e7e936665f3a36ff1e","signature":"65f8d275fa395d97a35ea6a19640ca632d131a910a90b817c63d73eae2c06cf4","impliedFormat":99},{"version":"3c16e0b9ad038a79c344567adfb298213adf72d0dc94f07f49cefa275600f596","signature":"e7dae0b5c04e3de935a44114827d359618539677c981b789519c977ccea29435","impliedFormat":99},{"version":"d0896aa30f6bbb4d113ae438a9e326266fa2c8356cc4fec5634a0c2d1d42258f","signature":"1815dd14372a8353b475e1c7f558740d7657fda5cb93096680777f24beac2ee7","impliedFormat":99},{"version":"605cbe24e8be287647c9fcfa457f05bef3c6b786ab055dca0cda9f1d08ad593d","signature":"b024464e90e3b1b44ab71c4c946ec346e78458ae54e9b4e1a6f5104339c7eb7b","impliedFormat":99},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"2a64e447812feae24358c03d19e35e208db45c30dc4a6aef605f904a81e3600d","signature":"1045b1014f6ebcd41c06c6b2a083a50919d75c54993423f34ef1e1dc702800ea","impliedFormat":99},{"version":"d9ead2632f5975ae5ad4dfd04cfe57b13172877f237b3c37b7c6826e69eef658","signature":"eb078ea12cb81006b57d54e4234fdd118f9d50ca150f93667fa3ab0b0f217a7a","impliedFormat":99},{"version":"60e7ed78b93581872585f0bbf4f4bacdfad812aaf107f04a0c2679394db2318d","impliedFormat":1},{"version":"b2728576d25b998f5427b3effcaa435bbdffa40da9bf5e2c355c89879e6302b3","impliedFormat":1},{"version":"07e25f754a8435121d3ba0012458e3e10ae6f3fddeffebb2b1054a0579fad3ea","impliedFormat":1},{"version":"c1143d7d45dd72bae9b7c9cf204ba5a0ae1d9fa0d049c45c627d913e584f60ed","impliedFormat":1},{"version":"7d19f3777d50f0860736b2bb7e70c547164559312ded6d8b5af8b9618e1b2b90","impliedFormat":1},{"version":"dad8fae10ac74ae77baab2405ffb61a2c6bca275b1dd8b4346cfd628c464654a","impliedFormat":1},{"version":"a54557a87b49cf50256a8abd40559b6cdf3ccd3b7bcdb4f281d1776a3ae8f01c","impliedFormat":1},{"version":"853e4278fc54030c46d89f94bf961231c9f348e19963b2546a8fe960b1e6f360","impliedFormat":1},{"version":"ba56e7c11bd24eca78daa7147a870697ab31f3f14a9c56158ab9c26080019ab7","impliedFormat":1},{"version":"72f8901bb928702b4cc5126b4808e204730a88c6cf71b0130e693681b45b5d86","impliedFormat":1},{"version":"ed78a454cc36570b5387d5b4f34a0549cb84e683f5207e8c1092d6ca5153e013","impliedFormat":1},{"version":"24ae70199a01f1bb6004791cc18d28a90e2198a53388af111bbec1b19161f693","impliedFormat":1},{"version":"f0009b8cd0609df584a4c73a302e8839f6c6dc79807feac2b5f2831d12721964","impliedFormat":1},{"version":"3aac496576789cec3fb9226eaa4b29593629d36b821e50dfd86f43e2b7ef1088","impliedFormat":1},{"version":"0e7ef40a2c31ddcd594c533b45dba9616f8b532e1531c35c306c6396b6ecb5ed","impliedFormat":1},{"version":"a111c946239309929ef431cfbab3e2573e2a8fb0f78fc909a6e7fe6878f7880b","impliedFormat":1},{"version":"a41aa33fb4e442ec4b5c7aefcb63ef98cf679359be7fdadd578afba09beca9c7","signature":"18bcf9107b7532212cf285c8ff1aee70d3c9bd2c85d0fea61cf8f56178f90728","impliedFormat":99},{"version":"faf770b3935c2ba6558b2bb65af5d5de58945d81f496dc1a5938c41a1abb358b","impliedFormat":99},{"version":"c236956598ca0d72e6f7d0f40a265d056ccbfb62033c52ea3246c62f0bf7ad4e","signature":"a039d418ab3619427d70b27b91477b053f0c538aa9829d26e717c1b89141ca16","impliedFormat":99},{"version":"894bd2a64bfce5b28d1f4b6760f2eb75f07ce64dd1c272bbf7ceb6fec3f27912","impliedFormat":99},{"version":"1bf311491cae973e1081f797a344b0ac7e21350a57501eb7be6d04fde7c6c8eb","impliedFormat":99},{"version":"beef9f750c79e1f382edcbf274ac6bb046ee88f0d0b020b56d614de1338f451f","impliedFormat":99},{"version":"894bd2a64bfce5b28d1f4b6760f2eb75f07ce64dd1c272bbf7ceb6fec3f27912","impliedFormat":99},{"version":"76f0ffe16fb97817cbbcee983747fdf20581cac255df7c6790c5eb368554e7b0","impliedFormat":99},{"version":"8fcfa0bc4e099329cb6ca98a992aaa6fa08149c8b19e21e9e3302be79b63e6ac","impliedFormat":99},{"version":"efd7bb6439c2a171b08527a55ec2138e56565f5e442e3ddcd1b463bc9eaa5589","impliedFormat":99},{"version":"6614f87dc79e972068ab1ec7a79e42628e7eec76529401c1c047979be9363a6a","impliedFormat":99},{"version":"f3d5676ed1e5230ba8b5dd730a9168f00f8c283deef77f13f71eadb1e0ea6202","impliedFormat":99},{"version":"eabb61ecd690332363d52661566c78227cd2197605e2612c497d5d5fc3e8f60b","impliedFormat":99},{"version":"ce79b4bfe357b0525e336c402d9522f07942317768545da71d6d1da384d799f2","impliedFormat":99},{"version":"63be35c29de4a1a1c1f4e37c18df94219ec0e35a577b1c5cd07e1938d47b8bd0","impliedFormat":99},{"version":"3627c05e94352214c1afc21a7eae02f78ad6c8a5c8c2f461377939677b1b71ae","impliedFormat":99},{"version":"004b154cd5736ad776aae859fa311c39080bed8f2dd008c80917fec82077017e","impliedFormat":99},{"version":"1ab8b5adda7fda1e3aead58515f60e3c51a9d7890c7b85de785c4a1b08a81729","impliedFormat":99},{"version":"ad7b7fb3126cc65a1b7cec66d8bf4bdff740e443c00cce1075d50586eaba698f","impliedFormat":99},{"version":"51f72ab7ec8de377bca6c580e69ee43c8b81ebb0fb44e5e4e869345a04abc1fa","impliedFormat":99},{"version":"8718d7aa4b1c22bd61aa694a0585ba5f36fb0a578732ff1c99787dd4baeab159","impliedFormat":99},{"version":"373009eb742accbdf6e4563691925d1ca8b1156daba8dbcdb682fb21dd5830c7","impliedFormat":99},{"version":"840bcf7ada12224d296cfc3231492a14e552d7a04178cdb61b5b2e9e16259f0f","impliedFormat":99},{"version":"5c54764dc3b702bcaa14f3376945efdf68cb45823cfeaccdd0a70c10839604f2","impliedFormat":99},{"version":"a448f7f6df5f88878ebc3df3c13f933ee1de539f411a22e5e827f36ec11bfcc5","impliedFormat":99},{"version":"19017bf87855d1fd60aa1340f27c6ab3bfe322dd3c5c04c88ee6eab26c6d66e0","impliedFormat":99},{"version":"57d86cf0627c5f9780ffffed06a8224e2284d75d052a7450dba4fddf73d985e8","impliedFormat":99},{"version":"801b3238f458e1faee30b2740c5d8203b9ee2f3256abb0f703a9041773975cdc","impliedFormat":99},{"version":"addfb5c6643bb41ed03b218c5afcfc63b278518bb70b4278704d1334bf5f25cf","impliedFormat":99},{"version":"169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","impliedFormat":1},{"version":"ea7faa81eb85f376e2a5bce45583fe12b5343f6263f66c5595039aed1f670442","signature":"a844f8a5bd87f4964d7ae2c469c13c1b280ed13beb1676f8a59801f1a6b1ff2c","impliedFormat":99},{"version":"5ee487ebf85a8499470cd6cf98af9493eaf2547526fda166a75f4a6b0ab6d307","signature":"cb09e5d416854e3bbf76af2fa4d3d2c420c9ecdc06d0eeef917cdcb99fa39c56","impliedFormat":99},{"version":"ba3540935e71445e26f4dacd47f460ff645b81df88fcb8b2c112bfb88941b80e","signature":"34222bc9b1f5cce5bc0d3fd7492605d76e25ad4bf2f953ef72587db11519a00c","impliedFormat":99},{"version":"7739a9f7d272881ef01f9f544631adb4a24c61668ca2535f155121ab1302f4ea","signature":"056de4b1e15d949f9fbe263b512af8ccc382d68c5f9f476b45dc3ad1cab586db","impliedFormat":99},{"version":"44c93b14977275e9bf70888b17f04d4b22ce283b7781919cf7f6a4904826031e","signature":"3975ba4ea69d736ccd0fcc4c8e978d9eeed7d2413d0365d945f08bfdc4968247","impliedFormat":99},{"version":"0c19437a0f8516a319ab49ffae4bba1fed1380c33fb0cd021a7499eb1cb4f9eb","signature":"5d5d77e929d44cd4b2ad24c58ed7aff7b52a984d49b837f638d4f54c03b99842","impliedFormat":99},{"version":"36d8d81656bd1157e4147e81a8b332f353593da0cc91425e4c15eed7af023a0f","signature":"29a49537a7a56b9aaa60ae302bb8c9a8ed12c18bf42b34b37268cd5f93e0499b","impliedFormat":99},{"version":"73bef9f573f805d52d2bbf2ceb34a3a6d1a3366ce97573445dea659cc0c5c508","signature":"98a6490e935f87d62a746fb3536fa19f246422be96066b5035dfcd055376dfb9","impliedFormat":99},{"version":"ec596fa2357df1b2702e42bcba645422eb727ab5c81136f78590f21a100286e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"08d95e4bdb24b6e9215c10437a848b54148bc028e00c8809b5c2bb22d2411090","impliedFormat":1},{"version":"8622b4124d58b26af7f567ff92412ef55dd179f0069d89caf5318e1e23c76d78","signature":"4b86d319322eceab47df4615d477090f861f1fb2277f2c3b3669de936a04cba0","impliedFormat":99},{"version":"9aaece2c653dde9bec3a0b2f02631bd5c6a44df534fe63b54c56903af6497c3d","signature":"4c874f65b787ab07949057baecd8e5bfd36daf6b010e156586ff7d1e9e599ed6","impliedFormat":99},{"version":"5b3248325d05bfa3e8db33b5f11ab80a6e19b2e1d4ade260ceb5f3dddffe89f4","signature":"1d3ea1a476dc97c03d842b17f4f9745bb7421ca930c2bba29acf2e2c768049ac","impliedFormat":99},{"version":"5de0e270166e66a774fcabea481b6ca21e1bac88871280a943c57e0a07247b94","signature":"7ef400b9a7a87c895fc1d298250b55d607edab25db06f4f7f0b65d57a47f337e","impliedFormat":99},{"version":"0f0985170bbb5c42dfbba706419d6350c0aefd852a675ce35aa2c6a8bce0553c","signature":"55f4516d42fd063150faa1f35de1374d66a2dc1736f593c2df2c928b71f21b75","impliedFormat":99},{"version":"bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","impliedFormat":1},{"version":"1d02fdfac2aef5dcc9973b7e5e9da26982009039bd0ba480e51acf6a9ddc8e17","signature":"70611a79a4693ba348bcb7cee611663de47439451f4172ca08f21757db5ce11b","impliedFormat":99},{"version":"c3f3c70a66ceb19ba29335c19094f6280affe5278864b14d62c5fb51768e43ec","signature":"f5a5abf55224e42ea7d00e76900751c6f67f579693f20eed1a4bf116c619d890","impliedFormat":99},{"version":"81422217b2f789bfea439fcdc258cda25892797a59ea8b2f1cf49ef470d3e263","signature":"e1167066ee5ce84ec1ec02a537cd658aa87819f7460e18410a137af0b5fd4656","impliedFormat":99},{"version":"dc3b172ee27054dbcedcf5007b78c256021db936f6313a9ce9a3ecbb503fd646","impliedFormat":1},{"version":"6a9eb9c5d3f7474937973fe4b0a9e53025634c2e39118eda436d89f3e9df976f","affectsGlobalScope":true,"impliedFormat":1},{"version":"86e56d97b13ef0a58bc9c59aee782ae7d47d63802b5b32129ec5e5d62c20dbfa","affectsGlobalScope":true,"impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","impliedFormat":1},{"version":"3b43f7224c99344262753af8fc1bb66cf0dc36fb15de92a190af88502c6256f6","impliedFormat":1},{"version":"89121c1bf2990f5219bfd802a3e7fc557de447c62058d6af68d6b6348d64499a","impliedFormat":1},{"version":"79b4369233a12c6fa4a07301ecb7085802c98f3a77cf9ab97eee27e1656f82e6","impliedFormat":1},{"version":"be00321090ed100e3bd1e566c0408004137e73feb19d6380eba57d68519ff6c5","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"c67a7b7eec0175ea53343429d32897fcad406c663ba4b775eab8be8164bff91c","affectsGlobalScope":true,"impliedFormat":1},{"version":"4113fcb657953db88a125082f517a4b51083526a18765e90f2401a5dbb864d7e","impliedFormat":1},{"version":"8b5402ae709d042c3530ed3506c135a967159f42aed3221267e70c5b7240b577","impliedFormat":1},{"version":"e729ea1477029d2c5359a3e98b3a2f3d27c795a8bb57a0846b1e962a80f0febe","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"6e5c9272f6b3783be7bdddaf207cccdb8e033be3d14c5beacc03ae9d27d50929","impliedFormat":1},{"version":"9b4f7ff9681448c72abe38ea8eefd7ffe0c3aefe495137f02012a08801373f71","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"6ded4be4f8a693d0c1646dfa2f1b6582e34b73c66ce334cb5e86c7bf8c2e52b7","impliedFormat":1},{"version":"b3a24e1c22dd4fde2ce413fb8244e5fa8773ffca88e8173c780845c9856aef73","impliedFormat":1},{"version":"327fddc7dd391f1e62262dafe41fc9cabedb4a5758a5cfce979cebab1456abb8","impliedFormat":1},{"version":"7d2a0ba1297be385a89b5515b88cd31b4a1eeef5236f710166dc1b36b1741e1b","impliedFormat":1},{"version":"5adc55aaebfb20914e274a1202b5c78638260364997d724dec52d7b2704b461c","impliedFormat":1},{"version":"525b52b38b44420fb1758c0917e7b67cf379f7f9477d2ba7343f3d5f50a44258","affectsGlobalScope":true,"impliedFormat":1},{"version":"58b63c0f3bfac04d639c31a9fe094089c0bdcc8cda7bc35f1f23828677aa7926","impliedFormat":1},{"version":"d51d662a37aa1f1b97ed4caf4f1c25832047b9bfffcc707b53aedd07cd245303","impliedFormat":1},{"version":"c130f9616a960edc892aa0eb7a8a59f33e662c561474ed092c43a955cdb91dab","impliedFormat":1},{"version":"b9d02ff98f8c5da182f415c7152b0da746346b0a15e6a93d772eff0c72165b9d","impliedFormat":1}],"root":[[211,215],[217,222],[226,229],270,271,288,290,[318,325],[328,332],[334,336]],"options":{"allowJs":true,"checkJs":false,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSourceMap":false,"module":199,"outDir":"./esm","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"useUnknownInCatchVariables":false},"referencedMap":[[174,1],[170,2],[169,3],[171,2],[172,2],[173,4],[287,5],[272,6],[285,7],[286,8],[273,6],[337,6],[339,9],[338,6],[340,10],[207,11],[341,6],[225,12],[166,13],[342,14],[344,15],[345,16],[346,6],[164,17],[165,6],[333,14],[317,6],[347,6],[348,6],[206,6],[349,16],[350,14],[351,18],[111,19],[112,19],[113,20],[71,21],[114,22],[115,23],[116,24],[66,6],[69,25],[67,6],[68,6],[117,26],[118,27],[119,28],[120,29],[121,30],[122,31],[123,31],[125,32],[124,33],[126,34],[127,35],[128,36],[110,37],[70,6],[129,38],[130,39],[131,40],[163,41],[132,42],[133,43],[134,44],[135,45],[136,46],[137,47],[138,48],[139,49],[140,50],[141,51],[142,51],[143,52],[144,6],[145,53],[147,54],[146,55],[148,56],[149,57],[150,58],[151,59],[152,60],[153,61],[154,62],[155,63],[156,64],[157,65],[158,66],[159,67],[160,68],[161,69],[162,70],[352,6],[360,71],[359,72],[358,71],[361,6],[327,73],[216,6],[326,6],[254,74],[255,75],[230,76],[233,76],[252,74],[253,74],[243,74],[242,77],[240,74],[235,74],[248,74],[246,74],[250,74],[234,74],[247,74],[251,74],[236,74],[237,74],[249,74],[231,74],[238,74],[239,74],[241,74],[245,74],[256,78],[244,74],[232,74],[269,79],[268,6],[263,78],[265,80],[264,78],[257,78],[258,78],[260,78],[262,78],[266,80],[267,80],[259,80],[261,80],[364,81],[363,82],[362,6],[366,83],[367,84],[188,6],[343,6],[368,85],[208,6],[209,86],[210,87],[223,6],[289,6],[72,6],[224,88],[205,6],[168,89],[189,90],[365,91],[292,6],[293,92],[291,93],[357,94],[354,14],[356,95],[355,6],[353,6],[167,96],[305,97],[306,6],[312,98],[296,99],[316,100],[313,101],[304,102],[308,103],[301,104],[303,105],[309,106],[310,6],[297,107],[298,108],[314,109],[307,6],[295,6],[311,110],[315,109],[299,111],[300,112],[294,93],[302,6],[60,6],[61,6],[12,6],[11,6],[2,6],[13,6],[14,6],[15,6],[16,6],[17,6],[18,6],[19,6],[20,6],[3,6],[21,6],[22,6],[4,6],[23,6],[27,6],[24,6],[25,6],[26,6],[28,6],[29,6],[30,6],[5,6],[31,6],[32,6],[33,6],[34,6],[6,6],[38,6],[35,6],[36,6],[37,6],[39,6],[7,6],[40,6],[45,6],[46,6],[41,6],[42,6],[43,6],[44,6],[8,6],[50,6],[47,6],[48,6],[49,6],[51,6],[9,6],[52,6],[53,6],[54,6],[56,6],[55,6],[57,6],[58,6],[10,6],[59,6],[1,6],[88,113],[98,114],[87,113],[108,115],[79,116],[78,117],[107,14],[101,118],[106,119],[81,120],[95,121],[80,122],[104,123],[76,124],[75,14],[105,125],[77,126],[82,127],[83,6],[86,127],[73,6],[109,128],[99,129],[90,130],[91,131],[93,132],[89,133],[92,134],[102,14],[84,135],[85,136],[94,137],[74,138],[97,129],[96,127],[100,6],[103,139],[190,140],[193,141],[191,14],[192,142],[336,143],[213,144],[221,145],[214,146],[222,147],[218,148],[215,149],[226,150],[228,151],[220,152],[229,153],[227,154],[217,155],[211,156],[212,157],[335,158],[270,157],[288,159],[324,6],[330,160],[320,6],[319,161],[323,162],[334,163],[219,164],[331,165],[322,166],[290,167],[321,168],[325,169],[318,170],[328,171],[332,172],[329,173],[271,174],[274,6],[275,175],[203,176],[202,6],[197,6],[200,6],[199,177],[175,6],[198,6],[201,6],[176,178],[204,179],[194,180],[187,181],[181,182],[196,183],[195,181],[276,184],[177,166],[284,185],[280,6],[283,6],[282,186],[281,187],[186,188],[182,6],[185,6],[184,189],[183,190],[279,191],[278,6],[277,192],[180,193],[179,6],[178,194],[64,6],[65,195],[63,196],[62,6]],"latestChangedDtsFile":"./esm/index.d.ts","version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iobroker/js-controller-cli",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "7.1.
|
|
4
|
+
"version": "7.1.1-alpha.29-20260402-93ef165ef",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=18.0.0"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@iobroker/js-controller-common": "7.1.
|
|
10
|
-
"@iobroker/js-controller-common-db": "7.1.
|
|
9
|
+
"@iobroker/js-controller-common": "7.1.1-alpha.29-20260402-93ef165ef",
|
|
10
|
+
"@iobroker/js-controller-common-db": "7.1.1-alpha.29-20260402-93ef165ef",
|
|
11
11
|
"@iobroker/plugin-base": "~3.0.3",
|
|
12
|
-
"axios": "^1.
|
|
12
|
+
"axios": "^1.13.6",
|
|
13
13
|
"chokidar": "^3.5.3",
|
|
14
14
|
"debug": "^4.4.3",
|
|
15
15
|
"deep-clone": "^3.0.3",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"promisify-child-process": "^4.1.1",
|
|
20
20
|
"readline-sync": "^1.4.10",
|
|
21
21
|
"semver": "^7.5.2",
|
|
22
|
+
"tar": "^7.5.11",
|
|
22
23
|
"yargs": "^17.6.2"
|
|
23
24
|
},
|
|
24
25
|
"keywords": [
|
|
@@ -55,5 +56,5 @@
|
|
|
55
56
|
"files": [
|
|
56
57
|
"build/"
|
|
57
58
|
],
|
|
58
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "c317b9b5faebed923b9d1d6b1e7dc57c00f4cbb0"
|
|
59
60
|
}
|