diff --git a/build/panorama/api-types.ts b/build/panorama/api-types.ts new file mode 100644 index 0000000..7d1616d --- /dev/null +++ b/build/panorama/api-types.ts @@ -0,0 +1,34 @@ +export interface Parameter { + name: string; + type: string; + description?: string; +} + +export interface FunctionDeclaration { + kind: 'function'; + name: string; + description?: string; + returns: string; + args: Parameter[]; + available?: 'both' | 'server' | 'client'; // Assuming Panorama API might also have context differences + deprecated?: string | boolean; +} + +export interface ClassDeclaration { + kind: 'class'; + name: string; + description?: string; + extend?: string; // Add extend property for class inheritance + members: (FunctionDeclaration | FieldDeclaration)[]; // Assuming classes might have fields too + available?: 'both' | 'server' | 'client'; +} + +export interface FieldDeclaration { + kind: 'field'; + name: string; + type: string; + description?: string; + available?: 'both' | 'server' | 'client'; +} + +export type Declaration = FunctionDeclaration | ClassDeclaration; \ No newline at end of file diff --git a/build/panorama/api.ts b/build/panorama/api.ts new file mode 100644 index 0000000..7e41400 --- /dev/null +++ b/build/panorama/api.ts @@ -0,0 +1,339 @@ +import _ from 'lodash'; +import { readDump } from '../util'; +import * as apiTypes from './api-types'; + +// Basic type mapping, might need refinement based on actual Panorama API types +const typeMappings: Record = { + handle: 'object', // Panorama uses JS objects, 'handle' might map to Panel, Entity, etc. + ehandle: 'object', // Similar to handle + string: 'string', + int: 'number', + uint: 'number', + float: 'number', + bool: 'boolean', + table: 'object', // Lua table likely maps to JS object or array + Vector: 'Vector', // Assuming a Vector type exists or will be defined + QAngle: 'QAngle', // Assuming a QAngle type exists or will be defined + Quaternion: 'Quaternion', // Assuming a Quaternion type exists or will be defined + void: 'void', + unknown: 'unknown', + var: 'any', // Generic variable type + // Add more specific mappings as needed +}; + +function transformType(rawType: string): string { + return typeMappings[rawType] || rawType; // Default to raw type if no mapping found +} + +import fs from 'fs'; +import path from 'path'; + +function parseApiDump(dumpContent: string): apiTypes.Declaration[] { + const declarations: apiTypes.Declaration[] = []; + + // 读取已存在的枚举文件,用于过滤重复的枚举 + let existingEnums: string[] = []; + try { + const enumsFilePath = path.resolve(__dirname, '../../files/panorama/enums.json'); + if (fs.existsSync(enumsFilePath)) { + const enumsData = JSON.parse(fs.readFileSync(enumsFilePath, 'utf8')); + existingEnums = enumsData.map((enumItem: any) => enumItem.name); + console.log(`Loaded ${existingEnums.length} existing enums from enums.json`); + } + } catch (error) { + console.error('Error loading existing enums:', error); + existingEnums = []; + } + + try { + // Log the beginning of the dump content to understand its format + console.log(`Panorama API dump content (first 500 chars):\n${dumpContent.substring(0, 500)}...`); + + // The dump appears to contain TypeScript declarations rather than JSON + // We need to parse enum declarations and other TypeScript constructs + + // Parse enum declarations + const enumRegex = /declare\s+enum\s+([\w_]+)\s*\{([\s\S]*?)\}/g; + let enumMatch; + + while ((enumMatch = enumRegex.exec(dumpContent)) !== null) { + const enumName = enumMatch[1]; + const enumBody = enumMatch[2]; + + // 检查枚举是否已经存在于enums.json中,如果存在则跳过 + if (existingEnums.includes(enumName)) { + console.log(`Skipping enum ${enumName} as it already exists in enums.json`); + continue; + } + + // Create a class declaration for each enum + const enumDeclaration: apiTypes.ClassDeclaration = { + kind: 'class', + name: enumName, + description: `Enum: ${enumName}`, + members: [], + available: 'client' + }; + + // Parse enum values + const enumValueRegex = /\s*([\w_]+)\s*=\s*([\d-]+)/g; + let valueMatch; + + while ((valueMatch = enumValueRegex.exec(enumBody)) !== null) { + const valueName = valueMatch[1]; + const valueValue = parseInt(valueMatch[2], 10); + + // Add each enum value as a field + enumDeclaration.members.push({ + kind: 'field', + name: valueName, + type: 'number', + description: `Enum value: ${valueValue}`, + available: 'client' + }); + } + + declarations.push(enumDeclaration); + } + + // Parse function declarations (if any) + // This would need to be expanded based on the actual format of function declarations in the dump + const functionRegex = /function\s+([\w_]+)\s*\(([^)]*)\)\s*:\s*([\w_<>|\[\]]+)/g; + let functionMatch; + + while ((functionMatch = functionRegex.exec(dumpContent)) !== null) { + const functionName = functionMatch[1]; + const argsString = functionMatch[2]; + const returnType = functionMatch[3]; + + // Parse arguments + const args: apiTypes.Parameter[] = argsString.split(',').map((argStr, index) => { + const argParts = argStr.trim().split(':'); + return { + name: argParts[0]?.trim() || `arg${index}`, + type: argParts[1]?.trim() || 'any', + description: '' + }; + }); + + declarations.push({ + kind: 'function', + name: functionName, + description: '', + returns: returnType, + args, + available: 'client' + }); + } + + console.log(`Successfully parsed ${declarations.length} declarations from TypeScript definitions.`); + } catch (error) { + console.error('Error parsing Panorama API dump:', error); + // Return empty or partial declarations if parsing fails + + } + + // Parse class declarations (if any) + const classRegex = /declare\s+class\s+([\w_]+)(?:\s+extends\s+([\w_]+))?\s*\{([\s\S]*?)\}/g; + let classMatch; + + while ((classMatch = classRegex.exec(dumpContent)) !== null) { + try { + const className = classMatch[1]; + const extendName = classMatch[2] || undefined; + const classBody = classMatch[3]; + + // Create a class declaration + const classDeclaration: apiTypes.ClassDeclaration = { + kind: 'class', + name: className, + description: '', + extend: extendName, + members: [], + available: 'client' + }; + + // Parse class methods + const methodRegex = /\s*([\w_]+)\s*\(([^)]*)\)\s*:\s*([\w_<>|\[\]]+)\s*;/g; + let methodMatch; + + while ((methodMatch = methodRegex.exec(classBody)) !== null) { + const methodName = methodMatch[1]; + const argsString = methodMatch[2]; + const returnType = methodMatch[3]; + + // Parse arguments + const args: apiTypes.Parameter[] = argsString.split(',').filter(arg => arg.trim()).map((argStr, index) => { + const argParts = argStr.trim().split(':'); + return { + name: argParts[0]?.trim() || `arg${index}`, + type: (argParts[1]?.trim() || 'any'), + description: '' + }; + }); + + classDeclaration.members.push({ + kind: 'function', + name: methodName, + description: '', + returns: returnType, + args, + available: 'client' + }); + } + + // Parse class fields + const fieldRegex = /\s*([\w_]+)\s*:\s*([\w_<>|\[\]]+)\s*;/g; + let fieldMatch; + + while ((fieldMatch = fieldRegex.exec(classBody)) !== null) { + const fieldName = fieldMatch[1]; + const fieldType = fieldMatch[2]; + + classDeclaration.members.push({ + kind: 'field', + name: fieldName, + type: fieldType, + description: '', + available: 'client' + }); + } + + declarations.push(classDeclaration); + } catch (error) { + console.error(`Error parsing class declaration:`, error); + } + } + return declarations; +} + +let generatedApi: apiTypes.Declaration[] | null = null; + +export function generatePanoramaApi(): apiTypes.Declaration[] { + if (generatedApi) return generatedApi; + + // 读取两种类型的 Panorama API 声明 + const scriptHelpContent = readDump('cl_panorama_script_help'); + const tsDeclarationsContent = readDump('cl_panorama_typescript_declarations'); + + // 合并两种声明内容 + const combinedContent = scriptHelpContent + '\n' + tsDeclarationsContent; + + // 解析合并后的 API 声明 + generatedApi = parseApiDump(combinedContent); + console.log(`Generated ${generatedApi.length} Panorama API declarations`); + + return generatedApi; +} + +function generateApiTypesString(api: apiTypes.Declaration[]): string { + let result = `/* eslint-disable @typescript-eslint/no-unused-vars */ +// Auto-generated Panorama API definitions. + +declare namespace Panorama { + // Basic types (add more as needed) + type Panel = object; // Generic Panel type + type EntityIndex = number; + type AbilityEntityIndex = number; + type ItemEntityIndex = number; + type PlayerID = number; + type TeamID = number; + type ScheduleID = number; + type SoundEventID = number; + type ParticleID = number; + type SceneEntityIndex = number; + type BuffID = number; + type HeroID = number; + type ViewerID = number; + type SpawnGroupHandle = number; + type ProjectileID = number; + type EventListenerID = number; + type GameEventSubscriptionID = number; + type PlayerUltimateStateOrTime = number; + type ParticleAttachment = number; + type DOTAUnitOrder = number; + type FindOrder = number; + type OverheadAlert = number; + type PlayerOrderIssuer = number; + type OrderQueueBehavior = number; + type ClickBehaviors = number; + type AbilityLearnResult = number; + type DOTAShopType = number; + type DOTATeam = number; + type GameActivity = number; + type GameState = number; + type GameMode = number; + type GameDifficulty = number; + type HeroSelectionState = number; + type HullRadius = number; + type DOTAHUDVisibility = number; + type DOTAScenePanelEvent = number; + type DOTATeamDetails = object; + type DOTAPlayerDetails = object; + type DOTAHeroDetails = object; + type DOTACustomUIPanel = object; + type DOTACustomUIClient = object; + type DOTACustomUIConfig = object; + type Vector = [number, number, number] | { x: number; y: number; z: number }; + type QAngle = [number, number, number] | { x: number; y: number; z: number }; + type Quaternion = [number, number, number, number] | { x: number; y: number; z: number; w: number }; + + // Global API Functions +`; + + for (const decl of api) { + if (decl.kind === 'function') { + const argsString = decl.args.map(arg => `${arg.name}: ${arg.type}`).join(', '); + if (decl.description) { + result += ` /** + * ${decl.description.replace(/\n/g, '\n * ')} + */ +`; + } + result += ` function ${decl.name}(${argsString}): ${decl.returns}; +`; + } else if (decl.kind === 'class') { + if (decl.description) { + result += ` /**\n * ${decl.description.replace(/\n/g, '\n * ')}\n */\n`; + } + result += ` class ${decl.name}${decl.extend ? ` extends ${decl.extend}` : ''} {\n`; + for (const member of decl.members) { + if (member.kind === 'function') { + const argsString = member.args.map(arg => `${arg.name}: ${arg.type}`).join(', '); + if (member.description) { + result += ` /**\n * ${member.description.replace(/\n/g, '\n * ')}\n */\n`; + } + result += ` ${member.name}(${argsString}): ${member.returns};\n`; + } else if (member.kind === 'field') { + if (member.description) { + result += ` /**\n * ${member.description.replace(/\n/g, '\n * ')}\n */\n`; + } + result += ` ${member.name}: ${member.type};\n`; + } + } + result += ` }\n`; + } + } + + result += ` // Global selector function + function $(selector: string): Panel | null; +} + +// Global helper functions (if applicable) +declare function $(selector: string): Panorama.Panel | null; +declare function $F(value: number): number; // Format float + +// Add other global functions/variables if known +`; + + return result; +} + +let generatedApiTypesString: string | undefined; + +export function getPanoramaApiTypes(): string { + if (generatedApiTypesString) return generatedApiTypesString; + const api = generatePanoramaApi(); + generatedApiTypesString = generateApiTypesString(api); + return generatedApiTypesString; +} \ No newline at end of file diff --git a/build/panorama/cl_dump_api.ts b/build/panorama/cl_dump_api.ts new file mode 100644 index 0000000..12eee77 --- /dev/null +++ b/build/panorama/cl_dump_api.ts @@ -0,0 +1,29 @@ +import { readDump, outputFile } from '../util'; + +/** + * 提取cl_panorama_typescript_declarations内容并输出到文件 + * 过滤掉以 "No matches for" 和 "debug.description" 开头的行 + */ +export function generateClDumpApi(): void { + // 读取cl_panorama_typescript_declarations内容 + const tsDeclarationsContent = readDump('cl_panorama_typescript_declarations'); + + // 过滤掉以 "No matches for" 和 "debug.description" 开头的行 + const filteredContent = tsDeclarationsContent + .split('\n') + .map(line => { + if (line.trim().startsWith('No matches for') || line.trim().startsWith('debug.description')) { + return '// ' + line; // 添加注释 + } + return line; + }) + .join('\n'); + + // 输出到文件 + outputFile('panorama/cl_dump_api.d.ts', filteredContent); + + console.log('Generated cl_dump_api.d.ts with filtered content'); +} + +// 此文件作为模块导入,不需要自动执行 +// 通过build/panorama/index.ts调用generateClDumpApi()函数 \ No newline at end of file diff --git a/build/panorama/enums/index.ts b/build/panorama/enums/index.ts index 9a15543..135f871 100644 --- a/build/panorama/enums/index.ts +++ b/build/panorama/enums/index.ts @@ -1,6 +1,6 @@ import { readDump } from '../../util'; import { getEnumDescription } from '../../vscripts/api/data/modifier-properties'; -import { Enum, EnumMember } from './types'; +import { Availability, Declaration, Enum, EnumMember } from './types'; export { types as enumsTypes } from './types'; @@ -14,7 +14,7 @@ export const enums = (() => { let currentComment: string | undefined; for (const line of group.slice(group.indexOf('{')).split('\n')) { - const comment = line.match(/\/\*\* (.+) \*\//); + const comment = line.match(/\/\*\* (.+) \*\//); if (comment) { [, currentComment] = comment; } @@ -31,12 +31,20 @@ export const enums = (() => { } } - return { name: enumName, members }; + return { + kind: 'enum', + name: enumName, + available: 'both' as Availability, // 默认为both,因为这是panorama枚举 + members + }; }); for (const member of result.find((x) => x.name === 'modifierfunction')!.members) { member.description = getEnumDescription(member.description); } - return result; + // 按名称排序,与vscripts保持一致 + result.sort((a, b) => a.name.localeCompare(b.name, 'en')); + + return result as Declaration[]; })(); diff --git a/build/panorama/enums/types.ts b/build/panorama/enums/types.ts index 5668250..2f63578 100644 --- a/build/panorama/enums/types.ts +++ b/build/panorama/enums/types.ts @@ -1,11 +1,24 @@ import { exportNamespacedRoot } from '../../util'; -export const types = exportNamespacedRoot(__filename, 'enums', 'enums.Enum[]'); +export const types = exportNamespacedRoot(__filename, 'enums', 'enums.Declaration[]'); // EXPORT START +export type Declaration = Constant | Enum; +export type Availability = 'client' | 'both'; + +export interface Constant { + kind: 'constant'; + name: string; + description?: string; + value: number; + available: Availability; +} + export interface Enum { + kind: 'enum'; name: string; - // description?: string; + description?: string; + available: Availability; members: EnumMember[]; } diff --git a/build/panorama/index.ts b/build/panorama/index.ts index fe227a9..5ec1629 100644 --- a/build/panorama/index.ts +++ b/build/panorama/index.ts @@ -2,6 +2,8 @@ import { outputFile, outputJson } from '../util'; import { cssTypes, generateCss } from './css'; import { enums, enumsTypes } from './enums'; import { generatePanoramaEvents, panoramaEventsTypes } from './events'; +import { generatePanoramaApi, getPanoramaApiTypes } from './api'; +import { generateClDumpApi } from './cl_dump_api'; export function generatePanorama() { outputJson('panorama/css', generateCss()); @@ -10,4 +12,10 @@ export function generatePanorama() { outputFile('panorama/enums.d.ts', enumsTypes); outputJson('panorama/events', generatePanoramaEvents()); outputFile('panorama/events.d.ts', panoramaEventsTypes); + + outputJson('panorama/api', generatePanoramaApi()); + outputFile('panorama/api.d.ts', getPanoramaApiTypes()); + + // 生成原始的cl_panorama_typescript_declarations内容 + generateClDumpApi(); } diff --git a/build/util/index.ts b/build/util/index.ts index b48fcbd..f064665 100644 --- a/build/util/index.ts +++ b/build/util/index.ts @@ -6,15 +6,53 @@ export * from './normalization'; const dump = fs.readFileSync(path.join(__dirname, '../../dumper/dump'), 'utf8'); export function readDump(name: string) { - const [, ...groups] = dump.split(/\$> (.+)/g); - let value = groups[groups.indexOf(name) + 1]; - if (value.trim().startsWith('Initializing')) { - // Cut off initializing scripting VM line - value = value.slice(value.indexOf('[')); + // Find the line starting with "$> name" possibly followed by other characters + const startMarker = `$> ${name}`; + const startIndex = dump.indexOf(startMarker); + if (startIndex === -1) { + console.error(`Couldn't find dump marker "${startMarker}"`); + throw new Error(`Couldn't find dump marker "${startMarker}"`); + } + + console.log(`Found dump marker "${startMarker}" at position ${startIndex}`); + + // Find the start of the actual content (after the marker line) + const contentStartIndex = dump.indexOf('\n', startIndex) + 1; + if (contentStartIndex === 0) { // Handle case where marker is the last line + console.warn(`Marker "${startMarker}" is the last line in the dump file.`); + return ''; + } + + // Find the end of the content (start of the next marker or end of file) + const nextMarkerIndex = dump.indexOf('\n$> ', contentStartIndex); + let contentEndIndex = (nextMarkerIndex === -1) ? dump.length : nextMarkerIndex; + + console.log(`Content for "${name}" starts at ${contentStartIndex} and ends at ${contentEndIndex}`); + let value = dump.substring(contentStartIndex, contentEndIndex); + + // Special handling for different dump types + if (name === 'cl_panorama_script_help' || name === 'cl_panorama_script_help *' || name === 'cl_panorama_typescript_declarations') { + console.log(`Processing Panorama API dump (first 200 chars):\n${value.substring(0, 200)}...`); + // For Panorama API, we expect TypeScript declarations + // No special processing needed, just return the TypeScript declarations as-is + } else if (value.trim().startsWith('Initializing')) { + // Cut off initializing scripting VM line for JSON content + console.log(`Dump section "${name}" starts with 'Initializing', looking for JSON content`); + const jsonStart = value.indexOf('['); + if (jsonStart !== -1) { + console.log(`Found JSON start at position ${jsonStart} within the content`); + value = value.slice(jsonStart); + } else { + // Handle cases where 'Initializing' is present but '[' is not + console.warn(`Dump section "${name}" starts with 'Initializing' but no '[' found.`); + value = ''; // Or handle as appropriate + } } // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - if (value == null) throw new Error(`Couldn't find dump "${name}"`); + if (value == null) throw new Error(`Couldn't find dump content for "${name}"`); // Should not happen with the new logic if marker exists + + console.log(`Successfully extracted content for "${name}" (length: ${value.trim().length})`); return value.trim(); } diff --git a/dumper/dump b/dumper/dump index 957f931..1469fe3 100644 --- a/dumper/dump +++ b/dumper/dump @@ -1,13 +1,13 @@ -ClientVersion=6328 -ServerVersion=6328 +ClientVersion=6350 +ServerVersion=6350 ProductName=dota2_workshop appID=570 ServerAppID=373310 CustomGameServerAppID=471280 ToolsAppID=316570 -SourceRevision=9553002 -VersionDate=Feb 20 2025 -VersionTime=14:16:18 +SourceRevision=9595320 +VersionDate=Mar 10 2025 +VersionTime=16:18:19 $> dump_panorama_css_properties === align === <Needs a description> @@ -34689,7 +34689,7 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"ACT_DOTA_CAST_FENCE", - "value":1796 + "value":1799 },{ "kind":"constant", "name":"ACT_DOTA_CAST_FORGE_SPIRIT", @@ -34845,7 +34845,7 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"ACT_DOTA_CYCLONE", - "value":1798 + "value":1792 },{ "kind":"constant", "name":"ACT_DOTA_DAGON", @@ -35013,7 +35013,7 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"ACT_DOTA_IMPALE", - "value":1799 + "value":1793 },{ "kind":"constant", "name":"ACT_DOTA_INTRO", @@ -35257,7 +35257,7 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"ACT_DOTA_RADIANT_CREEP_HAMMER", - "value":1793 + "value":1796 },{ "kind":"constant", "name":"ACT_DOTA_RATTLETRAP_BATTERYASSAULT", @@ -35297,7 +35297,7 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"ACT_DOTA_RELAX_IN", - "value":1794 + "value":1797 },{ "kind":"constant", "name":"ACT_DOTA_RELAX_LOOP", @@ -35309,7 +35309,7 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"ACT_DOTA_RELAX_OUT", - "value":1795 + "value":1798 },{ "kind":"constant", "name":"ACT_DOTA_RELAX_START", @@ -35329,7 +35329,7 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"ACT_DOTA_RUN_ALT", - "value":1788 + "value":1801 },{ "kind":"constant", "name":"ACT_DOTA_RUN_RARE", @@ -35417,7 +35417,7 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"ACT_DOTA_SPWN", - "value":1797 + "value":1800 },{ "kind":"constant", "name":"ACT_DOTA_STARTLE", @@ -35521,7 +35521,7 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"ACT_DOTA_TORRENT", - "value":1800 + "value":1794 },{ "kind":"constant", "name":"ACT_DOTA_TRANSITION", @@ -35585,7 +35585,7 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"ACT_DOTA_VOODOO_REST", - "value":1801 + "value":1791 },{ "kind":"constant", "name":"ACT_DOTA_WAIT_IDLE", @@ -45019,19 +45019,19 @@ LUA Memory usage warning: The VM has hit a new high usage of 16,777,216 bytes. },{ "kind":"constant", "name":"muerta_debut_satyr_a", - "value":1789 + "value":1788 },{ "kind":"constant", "name":"muerta_debut_satyr_b", - "value":1790 + "value":1789 },{ "kind":"constant", "name":"muerta_debut_satyr_c", - "value":1791 + "value":1790 },{ "kind":"constant", "name":"radiant_melee_mars_shieldbash", - "value":1792 + "value":1795 },{ "extend":"C_BaseModelEntity", "kind":"class", diff --git a/files/engine-enums.json b/files/engine-enums.json index 4e20810..dd1e11a 100644 --- a/files/engine-enums.json +++ b/files/engine-enums.json @@ -441,10 +441,6 @@ "name": "DOTA_ATTRIBUTE_INTELLECT", "shortName": "INTELLECT" }, - { - "name": "DOTA_ATTRIBUTE_INTELLIGENCE_DAMAGE", - "shortName": "INTELLIGENCE_DAMAGE" - }, { "name": "DOTA_ATTRIBUTE_INTELLIGENCE_MAGIC_RESIST", "shortName": "INTELLIGENCE_MAGIC_RESIST" @@ -3559,6 +3555,10 @@ "name": "ACT_MP_GESTURE_VC_FISTPUMP_ITEM1", "shortName": "MP_GESTURE_VC_FISTPUMP_ITEM1" }, + { + "name": "ACT_MP_GESTURE_VC_FISTPUMP_ITEM2", + "shortName": "MP_GESTURE_VC_FISTPUMP_ITEM2" + }, { "name": "ACT_MP_GESTURE_VC_FISTPUMP_MELEE", "shortName": "MP_GESTURE_VC_FISTPUMP_MELEE" diff --git a/files/panorama/api.d.ts b/files/panorama/api.d.ts new file mode 100644 index 0000000..23068db --- /dev/null +++ b/files/panorama/api.d.ts @@ -0,0 +1,61 @@ +/* eslint-disable @typescript-eslint/no-unused-vars */ +// Auto-generated Panorama API definitions. + +declare namespace Panorama { + // Basic types (add more as needed) + type Panel = object; // Generic Panel type + type EntityIndex = number; + type AbilityEntityIndex = number; + type ItemEntityIndex = number; + type PlayerID = number; + type TeamID = number; + type ScheduleID = number; + type SoundEventID = number; + type ParticleID = number; + type SceneEntityIndex = number; + type BuffID = number; + type HeroID = number; + type ViewerID = number; + type SpawnGroupHandle = number; + type ProjectileID = number; + type EventListenerID = number; + type GameEventSubscriptionID = number; + type PlayerUltimateStateOrTime = number; + type ParticleAttachment = number; + type DOTAUnitOrder = number; + type FindOrder = number; + type OverheadAlert = number; + type PlayerOrderIssuer = number; + type OrderQueueBehavior = number; + type ClickBehaviors = number; + type AbilityLearnResult = number; + type DOTAShopType = number; + type DOTATeam = number; + type GameActivity = number; + type GameState = number; + type GameMode = number; + type GameDifficulty = number; + type HeroSelectionState = number; + type HullRadius = number; + type DOTAHUDVisibility = number; + type DOTAScenePanelEvent = number; + type DOTATeamDetails = object; + type DOTAPlayerDetails = object; + type DOTAHeroDetails = object; + type DOTACustomUIPanel = object; + type DOTACustomUIClient = object; + type DOTACustomUIConfig = object; + type Vector = [number, number, number] | { x: number; y: number; z: number }; + type QAngle = [number, number, number] | { x: number; y: number; z: number }; + type Quaternion = [number, number, number, number] | { x: number; y: number; z: number; w: number }; + + // Global API Functions + // Global selector function + function $(selector: string): Panel | null; +} + +// Global helper functions (if applicable) +declare function $(selector: string): Panorama.Panel | null; +declare function $F(value: number): number; // Format float + +// Add other global functions/variables if known diff --git a/files/panorama/api.json b/files/panorama/api.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/files/panorama/api.json @@ -0,0 +1 @@ +[] diff --git a/files/panorama/cl_dump_api.d.ts b/files/panorama/cl_dump_api.d.ts new file mode 100644 index 0000000..fcba892 --- /dev/null +++ b/files/panorama/cl_dump_api.d.ts @@ -0,0 +1,3934 @@ +interface CPanoramaScript_GameEvents +{ + /** Subscribe to a game event */ + Subscribe( pEventName: string, funcVal ): number; + /** Unsubscribe from a game event */ + Unsubscribe( nCallbackHandle: number ): void; + /** Send a custom game event to the server */ + SendCustomGameEventToServer( pEventName: string, jsObject ): void; + /** Send a custom game event to the server, which will send it to all clients */ + SendCustomGameEventToAllClients( pEventName: string, jsObject ): void; + /** Send a custom game event to the server, which will then send it to one client */ + SendCustomGameEventToClient( pEventName: string, playerIndex: number, jsObject ): void; + /** Send a client-side event using gameeventmanager (only useful for a few specific events) */ + SendEventClientSide( pEventName: string, jsObject ): void; +} +interface CPanoramaScript_CustomNetTables +{ + /** Get a key from a custom net table */ + GetTableValue( pTableName: string, pKeyName: string ); + /** Get all values from a custom net table */ + GetAllTableValues( pTableName: string ); + /** Register a callback when a particular custom net table changes */ + SubscribeNetTableListener( args ): void; + /** Unsubscribe from a game event */ + UnsubscribeNetTableListener( nCallbackHandle: number ): void; +} +// No matches for 'SteamUGC' found +interface CPanoramaScript_SteamFriends +{ + /** Requests the user's persona name */ + RequestPersonaName( pchSteamID: string, funcVal ): string; + /** Sets the avatar image on the image panel */ + SetLargeAvatarImage( args ): void; +} +interface CPanoramaScript_SteamUtils +{ + /** Returns the connected universe */ + GetConnectedUniverse(); + /** Returns the appid of the current app */ + GetAppID(): number; +} +interface CScriptBindingPR_Buffs +{ + GetName( nEntity: number, nBuff: number ): string; + GetClass( nEntity: number, nBuff: number ): string; + GetTexture( nEntity: number, nBuff: number ): string; + GetDuration( nEntity: number, nBuff: number ): number; + GetDieTime( nEntity: number, nBuff: number ): number; + GetRemainingTime( nEntity: number, nBuff: number ): number; + GetElapsedTime( nEntity: number, nBuff: number ): number; + GetCreationTime( nEntity: number, nBuff: number ): number; + GetStackCount( nEntity: number, nBuff: number ): number; + IsDebuff( nEntity: number, nBuff: number ): boolean; + IsHidden( nEntity: number, nBuff: number ): boolean; + /** Get the owner of the ability responsible for the modifier. */ + GetCaster( nEntity: number, nBuff: number ): number; + /** Get the unit the modifier is parented to. */ + GetParent( nEntity: number, nBuff: number ): number; + /** Get the ability that generated the modifier. */ + GetAbility( nEntity: number, nBuff: number ): number; +} +interface CScriptBindingPR_Players +{ + /** Get the maximum number of players in the game. */ + GetMaxPlayers(): number; + /** Get the maximum number of players on teams. */ + GetMaxTeamPlayers(): number; + /** Get the local player ID. */ + GetLocalPlayer(): number; + /** Is the nth player a valid player? */ + IsValidPlayerID( iPlayerID: number ): boolean; + /** Return the name of a player. */ + GetPlayerName( iPlayerID: number ): string; + /** Get the entity index of the hero controlled by this player. */ + GetPlayerHeroEntityIndex( iPlayerID: number ): number; + /** Get the entities this player has selected. */ + GetSelectedEntities( iPlayerID: number ); + /** Get the entities this player is querying. */ + GetQueryUnit( iPlayerID: number ): number; + /** Get local player current portrait unit. (ie. Player's hero or primary selected unit.) */ + GetLocalPlayerPortraitUnit(): number; + /** Can the player buy back? */ + CanPlayerBuyback( nPlayerID: number ): boolean; + /** Does this player have a custom game ticket? */ + HasCustomGameTicketForPlayerID( nPlayerID: number ): boolean; + /** The number of assists credited to a player. */ + GetAssists( nPlayerID: number ): number; + GetClaimedDenies( nPlayerID: number ): number; + GetClaimedMisses( nPlayerID: number ): number; + /** The number of deaths a player has suffered. */ + GetDeaths( nPlayerID: number ): number; + /** The number of denies credited to a player. */ + GetDenies( nPlayerID: number ): number; + /** The amount of gold a player has. */ + GetGold( nPlayerID: number ): number; + /** The number of kills credited to a player. */ + GetKills( nPlayerID: number ): number; + GetLastBuybackTime( nPlayerID: number ): number; + GetLastHitMultikill( nPlayerID: number ): number; + /** The number of last hits credited to a player. */ + GetLastHits( nPlayerID: number ): number; + GetLastHitStreak( nPlayerID: number ): number; + /** The current level of a player. */ + GetLevel( nPlayerID: number ): number; + GetMisses( nPlayerID: number ): number; + GetNearbyCreepDeaths( nPlayerID: number ): number; + /** Total reliable gold for this player. */ + GetReliableGold( nPlayerID: number ): number; + GetRespawnSeconds( nPlayerID: number ): number; + GetStreak( nPlayerID: number ): number; + /** Total gold earned in this game by this player. */ + GetTotalEarnedGold( nPlayerID: number ): number; + /** Total xp earned in this game by this player. */ + GetTotalEarnedXP( nPlayerID: number ): number; + /** Total unreliable gold for this player. */ + GetUnreliableGold( nPlayerID: number ): number; + /** Get the team this player is on. */ + GetTeam( nPlayerID: number ): number; + /** Get the player's selected hero id. */ + GetSelectedHeroID( nPlayerID: number ): number; + /** Average gold earned per minute for this player. */ + GetGoldPerMin( nPlayerID: number ): number; + /** Average xp earned per minute for this player. */ + GetXPPerMin( nPlayerID: number ): number; + /** Return the name of the hero a player is controlling. */ + GetPlayerSelectedHero( nPlayerID: number ): string; + /** Get the player color. */ + GetPlayerColor( iPlayerID: number ): number; + /** Is this player a spectator. */ + IsSpectator( iPlayerID: number ): boolean; + /** . */ + PlayerPortraitClicked( nClickedPlayerID: number, bHoldingCtrl: boolean, bHoldingAlt: boolean ): void; + /** . */ + PlayerPortraitDoubleClicked( nClickedPlayerID: number, bHoldingCtrl: boolean, bHoldingAlt: boolean ): void; + /** . */ + BuffClicked( nEntity: number, nBuffSerial: number, bAlert: boolean ): void; + /** Is the local player live spectating? */ + IsLocalPlayerLiveSpectating(): boolean; + /** If local player is in perspective camera, returns true. Else, false */ + IsLocalPlayerInPerspectiveCamera(): boolean; + /** If player is in perspective mode, returns the followed players entity index. Else, -1. */ + GetPerspectivePlayerEntityIndex(): number; + /** If player is in perspective mode, returns the followed players id. Else, -1. */ + GetPerspectivePlayerId(): number; +} +interface CScriptBindingPR_Entities +{ + /** Get the world origin of the entity. */ + GetAbsOrigin( nEntityIndex: number ); + /** Get the world angles of the entity. */ + GetAbsAngles( nEntityIndex: number ); + /** Get the forward vector of the entity. */ + GetForward( nEntityIndex: number ); + /** Get the left vector of the entity. */ + GetLeft( nEntityIndex: number ); + /** Get the right vector of the entity. WARNING: This produces a left-handed coordinate system. Use GetLeft instead! */ + GetRight( nEntityIndex: number ); + /** Get the up vector of the entity. */ + GetUp( nEntityIndex: number ); + /** Get all the building entities. */ + GetAllBuildingEntities(); + /** Get all the hero entities. */ + GetAllHeroEntities(); + /** Get all the entities with a given name. */ + GetAllEntitiesByName( pszName: string ); + /** Get all the entities with a given classname. */ + GetAllEntitiesByClassname( pszName: string ); + /** Get all the creature entities. */ + GetAllCreatureEntities(); + /** Get all the entities. */ + GetAllEntities(); + CanBeDominated( nEntityIndex: number ): boolean; + HasAttackCapability( nEntityIndex: number ): boolean; + HasCastableAbilities( nEntityIndex: number ): boolean; + HasFlyingVision( nEntityIndex: number ): boolean; + HasFlyMovementCapability( nEntityIndex: number ): boolean; + HasGroundMovementCapability( nEntityIndex: number ): boolean; + HasMovementCapability( nEntityIndex: number ): boolean; + HasScepter( nEntityIndex: number ): boolean; + HasUpgradeableAbilities( nEntityIndex: number ): boolean; + HasUpgradeableAbilitiesThatArentMaxed( nEntityIndex: number ): boolean; + IsAlive( nEntityIndex: number ): boolean; + IsAncient( nEntityIndex: number ): boolean; + IsAttackImmune( nEntityIndex: number ): boolean; + IsBarracks( nEntityIndex: number ): boolean; + IsBlind( nEntityIndex: number ): boolean; + IsBoss( nEntityIndex: number ): boolean; + IsBossCreature( nEntityIndex: number ): boolean; + IsRoshan( nEntityIndex: number ): boolean; + IsBuilding( nEntityIndex: number ): boolean; + IsCommandRestricted( nEntityIndex: number ): boolean; + IsConsideredHero( nEntityIndex: number ): boolean; + IsControllableByAnyPlayer( nEntityIndex: number ): boolean; + IsCourier( nEntityIndex: number ): boolean; + IsCreature( nEntityIndex: number ): boolean; + IsCreep( nEntityIndex: number ): boolean; + IsCreepHero( nEntityIndex: number ): boolean; + IsDeniable( nEntityIndex: number ): boolean; + IsDominated( nEntityIndex: number ): boolean; + IsEnemy( nEntityIndex: number ): boolean; + IsEvadeDisabled( nEntityIndex: number ): boolean; + IsFort( nEntityIndex: number ): boolean; + IsFrozen( nEntityIndex: number ): boolean; + IsGeneratedByEconItem( nEntityIndex: number ): boolean; + IsHallofFame( nEntityIndex: number ): boolean; + IsDisarmed( nEntityIndex: number ): boolean; + IsHero( nEntityIndex: number ): boolean; + IsHexed( nEntityIndex: number ): boolean; + IsIllusion( nEntityIndex: number ): boolean; + IsInRangeOfFountain( nEntityIndex: number ): boolean; + IsInventoryEnabled( nEntityIndex: number ): boolean; + IsInvisible( nEntityIndex: number ): boolean; + IsInvulnerable( nEntityIndex: number ): boolean; + IsLaneCreep( nEntityIndex: number ): boolean; + IsLowAttackPriority( nEntityIndex: number ): boolean; + IsMagicImmune( nEntityIndex: number ): boolean; + IsMuted( nEntityIndex: number ): boolean; + IsNeutralUnitType( nEntityIndex: number ): boolean; + IsNightmared( nEntityIndex: number ): boolean; + IsOther( nEntityIndex: number ): boolean; + IsOutOfGame( nEntityIndex: number ): boolean; + IsOwnedByAnyPlayer( nEntityIndex: number ): boolean; + IsPhantom( nEntityIndex: number ): boolean; + IsRangedAttacker( nEntityIndex: number ): boolean; + IsRealHero( nEntityIndex: number ): boolean; + IsRooted( nEntityIndex: number ): boolean; + IsSelectable( nEntityIndex: number ): boolean; + IsShop( nEntityIndex: number ): boolean; + IsSilenced( nEntityIndex: number ): boolean; + IsSpeciallyDeniable( nEntityIndex: number ): boolean; + IsSpeciallyUndeniable( nEntityIndex: number ): boolean; + IsStunned( nEntityIndex: number ): boolean; + IsSummoned( nEntityIndex: number ): boolean; + IsTower( nEntityIndex: number ): boolean; + IsUnselectable( nEntityIndex: number ): boolean; + IsWard( nEntityIndex: number ): boolean; + IsZombie( nEntityIndex: number ): boolean; + NoHealthBar( nEntityIndex: number ): boolean; + NoTeamMoveTo( nEntityIndex: number ): boolean; + NoTeamSelect( nEntityIndex: number ): boolean; + NotOnMinimap( nEntityIndex: number ): boolean; + NotOnMinimapForEnemies( nEntityIndex: number ): boolean; + NoUnitCollision( nEntityIndex: number ): boolean; + ProvidesVision( nEntityIndex: number ): boolean; + UsesHeroAbilityNumbers( nEntityIndex: number ): boolean; + IsMoving( nEntityIndex: number ): boolean; + GetAbilityCount( nEntityIndex: number ): number; + GetCurrentVisionRange( nEntityIndex: number ): number; + GetDamageBonus( nEntityIndex: number ): number; + GetDamageMax( nEntityIndex: number ): number; + GetDamageMin( nEntityIndex: number ): number; + GetDayTimeVisionRange( nEntityIndex: number ): number; + GetHealth( nEntityIndex: number ): number; + GetHealthPercent( nEntityIndex: number ): number; + GetHealthThinkRegen( nEntityIndex: number ): number; + GetLevel( nEntityIndex: number ): number; + GetMaxHealth( nEntityIndex: number ): number; + GetNightTimeVisionRange( nEntityIndex: number ): number; + GetPlayerOwnerID( nEntityIndex: number ): number; + GetStates( nEntityIndex: number ): number; + GetTotalPurchasedUpgradeGoldCost( nEntityIndex: number ): number; + GetTeamNumber( nEntityIndex: number ): number; + GetHealthBarOffset( nEntityIndex: number ): number; + GetAttackRange( nEntityIndex: number ): number; + GetAttackSpeed( nEntityIndex: number ): number; + GetAttacksPerSecond( nEntityIndex: number ): number; + GetBaseAttackTime( nEntityIndex: number ): number; + GetBaseMagicalResistanceValue( nEntityIndex: number ): number; + GetBaseMoveSpeed( nEntityIndex: number ): number; + GetBonusPhysicalArmor( nEntityIndex: number ): number; + GetCollisionPadding( nEntityIndex: number ): number; + GetEffectiveInvisibilityLevel( nEntityIndex: number ): number; + GetHasteFactor( nEntityIndex: number ): number; + GetHullRadius( nEntityIndex: number ): number; + GetIdealSpeed( nEntityIndex: number ): number; + GetIncreasedAttackSpeed( nEntityIndex: number ): number; + GetMana( nEntityIndex: number ): number; + GetManaThinkRegen( nEntityIndex: number ): number; + GetMaxMana( nEntityIndex: number ): number; + GetMagicalArmorValue( nEntityIndex: number ): number; + GetPaddedCollisionRadius( nEntityIndex: number ): number; + GetPercentInvisible( nEntityIndex: number ): number; + GetPhysicalArmorValue( nEntityIndex: number ): number; + GetProjectileCollisionSize( nEntityIndex: number ): number; + GetRingRadius( nEntityIndex: number ): number; + GetSecondsPerAttack( nEntityIndex: number ): number; + ManaFraction( nEntityIndex: number ): number; + GetClassNameAsCStr( nEntityIndex: number ): string; + GetDisplayedUnitName( nEntityIndex: number ): string; + GetSelectionGroup( nEntityIndex: number ): string; + GetSoundSet( nEntityIndex: number ): string; + GetUnitLabel( nEntityIndex: number ): string; + GetUnitName( nEntityIndex: number ): string; + GetTotalDamageTaken( nEntityIndex: number ): number; + IsControllableByPlayer( nEntityIndex: number, nPlayerIndex: number ): boolean; + GetChosenTarget( nEntityIndex: number ): number; + HasItemInInventory( nEntityIndex: number, pItemName: string ): boolean; + GetRangeToUnit( nEntityIndex: number, nEntityIndex2: number ): number; + IsEntityInRange( nEntityIndex: number, nEntityIndex2: number, flRange: number ): boolean; + GetMoveSpeedModifier( nEntityIndex: number, flBaseSpeed: number ): number; + CanAcceptTargetToAttack( nEntityIndex: number, nEntityIndex2: number ): boolean; + InState( nEntityIndex: number, nState: number ): boolean; + GetArmorForDamageType( nEntityIndex: number, iDamageType: number ): number; + GetArmorReductionForDamageType( nEntityIndex: number, iDamageType: number ): number; + IsInRangeOfShop( nEntityIndex: number, iShopType: number, bSpecific: boolean ): boolean; + GetNumItemsInStash( nEntityIndex: number ): number; + GetNumItemsInInventory( nEntityIndex: number ): number; + GetItemInSlot( nEntityIndex: number, nSlotIndex: number ): number; + GetAbility( nEntityIndex: number, nSlotIndex: number ): number; + GetAbilityByName( nEntityIndex: number, pszAbilityName: string ): number; + GetNumBuffs( nEntityIndex: number ): number; + GetBuff( nEntityIndex: number, nBufIndex: number ): number; + /** Set the minimap icon on this client. */ + SetMinimapIcon( nEntityIndex: number, pszMinimapIcon: string ): void; + GetAbilityPoints( nEntityIndex: number ): number; + GetCurrentXP( nEntityIndex: number ): number; + GetNeededXPToLevel( nEntityIndex: number ): number; + /** Get the currently selected entities */ + GetSelectionEntities( nEntityIndex: number ); + /** Is this a valid entity index? */ + IsValidEntity( nEntityIndex: number ): boolean; + /** Is this entity an item container in the world? */ + IsItemPhysical( nEntityIndex: number ): boolean; + PassivesDisabled( nEntityIndex: number ): boolean; + /** Get the item contained in this physical item container. */ + GetContainedItem( nEntityIndex: number ): number; +} +interface CScriptBindingPR_Abilities +{ + GetAbilityName( nEntityIndex: number ): string; + GetAbilityTextureName( nEntityIndex: number ): string; + GetAssociatedPrimaryAbilities( nEntityIndex: number ): string; + GetAssociatedSecondaryAbilities( nEntityIndex: number ): string; + GetHotkeyOverride( nEntityIndex: number ): string; + GetIntrinsicModifierName( nEntityIndex: number ): string; + GetSharedCooldownName( nEntityIndex: number ): string; + AbilityReady( nEntityIndex: number ): number; + /** Returns an AbilityLearnResult_t */ + CanAbilityBeUpgraded( nEntityIndex: number ): number; + CanBeExecuted( nEntityIndex: number ): number; + GetAbilityDamage( nEntityIndex: number ): number; + GetAbilityDamageType( nEntityIndex: number ): number; + GetAbilityTargetFlags( nEntityIndex: number ): number; + GetAbilityTargetTeam( nEntityIndex: number ): number; + GetAbilityTargetType( nEntityIndex: number ): number; + GetAbilityType( nEntityIndex: number ): number; + GetBehavior( nEntityIndex: number ): number; + GetCastRange( nEntityIndex: number ): number; + GetChannelledManaCostPerSecond( nEntityIndex: number ): number; + GetCurrentCharges( nEntityIndex: number ): number; + GetCurrentAbilityCharges( nEntityIndex: number ): number; + GetEffectiveLevel( nEntityIndex: number ): number; + GetHeroLevelRequiredToUpgrade( nEntityIndex: number ): number; + GetLevel( nEntityIndex: number ): number; + GetManaCost( nEntityIndex: number ): number; + GetMaxLevel( nEntityIndex: number ): number; + AttemptToUpgrade( nEntityIndex: number ): boolean; + CanLearn( nEntityIndex: number ): boolean; + GetAutoCastState( nEntityIndex: number ): boolean; + GetToggleState( nEntityIndex: number ): boolean; + HasScepterUpgradeTooltip( nEntityIndex: number ): boolean; + IsActivated( nEntityIndex: number ): boolean; + IsActivatedChanging( nEntityIndex: number ): boolean; + IsAttributeBonus( nEntityIndex: number ): boolean; + IsAutocast( nEntityIndex: number ): boolean; + IsCooldownReady( nEntityIndex: number ): boolean; + IsDisplayedAbility( nEntityIndex: number ): boolean; + IsHidden( nEntityIndex: number ): boolean; + IsHiddenWhenStolen( nEntityIndex: number ): boolean; + IsInAbilityPhase( nEntityIndex: number ): boolean; + IsItem( nEntityIndex: number ): boolean; + IsMarkedAsDirty( nEntityIndex: number ): boolean; + IsMuted( nEntityIndex: number ): boolean; + IsOnCastbar( nEntityIndex: number ): boolean; + IsOnLearnbar( nEntityIndex: number ): boolean; + IsOwnersGoldEnough( nEntityIndex: number ): boolean; + IsOwnersGoldEnoughForUpgrade( nEntityIndex: number ): boolean; + IsOwnersManaEnough( nEntityIndex: number ): boolean; + IsPassive( nEntityIndex: number ): boolean; + IsRecipe( nEntityIndex: number ): boolean; + IsSharedWithTeammates( nEntityIndex: number ): boolean; + IsStealable( nEntityIndex: number ): boolean; + IsStolen( nEntityIndex: number ): boolean; + IsToggle( nEntityIndex: number ): boolean; + UsesAbilityCharges( nEntityIndex: number ): boolean; + GetAOERadius( nEntityIndex: number ): number; + GetBackswingTime( nEntityIndex: number ): number; + GetCastPoint( nEntityIndex: number ): number; + GetChannelStartTime( nEntityIndex: number ): number; + GetChannelTime( nEntityIndex: number ): number; + GetCooldown( nEntityIndex: number ): number; + GetCooldownLength( nEntityIndex: number ): number; + GetCooldownTime( nEntityIndex: number ): number; + GetCooldownTimeRemaining( nEntityIndex: number ): number; + GetDuration( nEntityIndex: number ): number; + GetUpgradeBlend( nEntityIndex: number ): number; + GetAbilityChargeRestoreTimeRemaining( nEntityIndex: number ): number; + /** Get the local player's current active ability. (Pre-cast targetting state.) */ + GetLocalPlayerActiveAbility(): number; + GetCaster( nAbilityIndex: number ): number; + GetCustomValueFor( nAbilityIndex: number, pszAbilityVarName: string ): number; + GetLevelSpecialValueFor( nAbilityIndex: number, szName: string, nLevel: number ): number; + GetSpecialValueFor( nAbilityIndex: number, szName: string ): number; + IsCosmetic( nAbilityIndex: number, nTargetEntityIndex: number ): boolean; + /** Attempt to execute the specified ability (Equivalent to clicking the ability in the HUD action bar) */ + ExecuteAbility( nAbilityEntIndex: number, nCasterEntIndex: number, bIsQuickCast: boolean ): boolean; + /** Get the max ability charge count. */ + GetMaxAbilityCharges( nAbilityEntIndex: number ): number; + /** Attempt to double-tap (self-cast) the specified ability (Equivalent to double-clicking the ability in the HUD action bar) */ + CreateDoubleTapCastOrder( nAbilityEntIndex: number, nCasterEntIndex: number ): void; + /** Ping the specified ability (Equivalent to alt-clicking the ability in the HUD action bar) */ + PingAbility( nAbilityIndex: number ): void; + /** Returns the keybind (as a string) for the specified ability. */ + GetKeybind( nAbilityEntIndex: number ): string; +} +interface CScriptBindingPR_Items +{ + ShouldDisplayCharges( nEntityIndex: number ): boolean; + AlwaysDisplayCharges( nEntityIndex: number ): boolean; + ShowSecondaryCharges( nEntityIndex: number ): boolean; + CanBeSoldByLocalPlayer( nEntityIndex: number ): boolean; + CanDoubleTapCast( nEntityIndex: number ): boolean; + ForceHideCharges( nEntityIndex: number ): boolean; + IsAlertableItem( nEntityIndex: number ): boolean; + IsCastOnPickup( nEntityIndex: number ): boolean; + IsDisassemblable( nEntityIndex: number ): boolean; + IsDroppable( nEntityIndex: number ): boolean; + IsInnatelyDisassemblable( nEntityIndex: number ): boolean; + IsKillable( nEntityIndex: number ): boolean; + IsMuted( nEntityIndex: number ): boolean; + IsPermanent( nEntityIndex: number ): boolean; + IsPurchasable( nEntityIndex: number ): boolean; + IsRecipe( nEntityIndex: number ): boolean; + IsRecipeGenerated( nEntityIndex: number ): boolean; + IsSellable( nEntityIndex: number ): boolean; + IsStackable( nEntityIndex: number ): boolean; + ProRatesChargesWhenSelling( nEntityIndex: number ): boolean; + RequiresCharges( nEntityIndex: number ): boolean; + CanBeExecuted( nEntityIndex: number ): number; + GetCost( nEntityIndex: number ): number; + GetCurrentCharges( nEntityIndex: number ): number; + GetSecondaryCharges( nEntityIndex: number ): number; + GetDisplayedCharges( nEntityIndex: number ): number; + GetInitialCharges( nEntityIndex: number ): number; + GetItemColor( nEntityIndex: number ): number; + GetShareability( nEntityIndex: number ): number; + GetAbilityTextureSF( nEntityIndex: number ): string; + GetAssembledTime( nEntityIndex: number ): number; + GetPurchaseTime( nEntityIndex: number ): number; + GetPurchaser( nItemID: number ): number; + /** Attempt to have the local player disassemble the specified item. Returns false if the order wasn't issued. */ + LocalPlayerDisassembleItem( nItem: number ): boolean; + /** Attempt to have the local player drop the specified item from its stash. Returns false if the order wasn't issued. */ + LocalPlayerDropItemFromStash( nItem: number ): boolean; + /** Attempt to have the local player alert allies about the specified item. Returns false if the order wasn't issued. */ + LocalPlayerItemAlertAllies( nItem: number ): boolean; + /** Attempt to have the local player move the specified item to its stash. Returns false if the order wasn't issued. */ + LocalPlayerMoveItemToStash( nItem: number ): boolean; + /** Attempt to have the local player sell the specified item. Returns false if the order wasn't issued. */ + LocalPlayerSellItem( nItem: number ): boolean; +} +interface CScriptBindingPR_Game +{ + Time(): number; + GetGameTime(): number; + GetGameFrameTime(): number; + GetDOTATime( bIncludePreGame: boolean, bIncludeNegativeTime: boolean ): number; + IsGamePaused(): boolean; + IsDayTime(): boolean; + IsInToolsMode(): boolean; + IsInBanPhase(): boolean; + /** Return the team id of the winning team. */ + GetGameWinner(): number; + GetStateTransitionTime(): number; + /** Get the difficulty setting of the game. */ + GetCustomGameDifficulty(): number; + /** Returns true if the user has enabled flipped HUD */ + IsHUDFlipped(): boolean; + /** Returns the width of the display. */ + GetScreenWidth(): number; + /** Returns the height of the display. */ + GetScreenHeight(): number; + /** Converts the specified x,y,z world co-ordinate into an x screen coordinate. Returns -1 if behind the camera */ + WorldToScreenX( x: number, y: number, z: number ): number; + /** Converts the specified x,y,z world co-ordinate into a y screen coordinate. Returns -1 if behind the camera */ + WorldToScreenY( x: number, y: number, z: number ): number; + /** Converts the specified x, y screen coordinates into a x, y, z world coordinates. */ + ScreenXYToWorld( nX: number, nY: number ); + /** Returns the keybind (as a string) for the requested ability slot. */ + GetKeybindForAbility( iSlot: number ): string; + /** Returns the keybind (as a string) for the requested inventory slot. */ + GetKeybindForInventorySlot( iSlot: number ): string; + /** Returns the keybind (as a string). */ + GetKeybindForCommand( nCommand: number ): string; + /** Create a new keybind. */ + CreateCustomKeyBind( pszKey: string, pszCommand: string ): void; + GetNianFightTimeLeft(): number; + Diretide2020ShouldShowGameInfo(): boolean; + Diretide2020SetShowGameInfo( bShowGameInfo: boolean ): void; + Diretide2020GetGameplayTipNumber(): number; + Diretide2020SetGameplayTipNumber( nGameplayTipNumber: number ): void; + NemesticeGetGameplayTipNumber(): number; + NemesticeSetGameplayTipNumber( nGameplayTipNumber: number ): void; + NemesticeShouldShowGameInfo(): boolean; + NemesticeSetShowGameInfo( bShowGameInfo: boolean ): void; + Winter2022ShouldShowGameInfo(): boolean; + Winter2022SetShowGameInfo( bShowGameInfo: boolean ): void; + Winter2022GetGameplayTipNumber(): number; + Winter2022SetGameplayTipNumber( nGameplayTipNumber: number ): void; + ForceCustomUILoad(): void; + CutToDefaultCamera(): void; + PlayDataDrivenCamera( pszCameraName: string ): number; + GetState(): number; + GameStateIs( nState: number ): boolean; + GameStateIsBefore( nState: number ): boolean; + GameStateIsAfter( nState: number ): boolean; + AddCommand( pszCommandName: string, callback, pszDescription: string, nFlags: number ): void; + GetJoyFocusPanel(); + SetJoyFocusPanel( pPanelArg ): void; + PushJoyFocusPanel( pPanelArg ): void; + PopJoyFocusPanel(): void; + GetLocalPlayerID(): number; + /** Assign the local player to the specified team */ + PlayerJoinTeam( nTeamID: number ): void; + /** Assign the currently unassigned players to teams */ + AutoAssignPlayersToTeams(): void; + /** Shuffle the team assignments of all of the players currently assigned to a team. */ + ShufflePlayerTeamAssignments(): void; + /** Set the remaining seconds in team setup before the game starts. -1 to stop the countdown timer */ + SetRemainingSetupTime( flSeconds: number ): void; + /** Set the amount of time in seconds that will be set as the remaining time when all players are assigned to a team. */ + SetAutoLaunchDelay( flSeconds: number ): void; + /** Enable or disable automatically starting the game once all players are assigned to a team */ + SetAutoLaunchEnabled( bEnable: boolean ): void; + /** Return true of false indicating if automatically starting the game is enabled. */ + GetAutoLaunchEnabled(): boolean; + /** Lock the team selection preventing players from swiching teams. */ + SetTeamSelectionLocked( bLockTeams: boolean ): void; + /** Returns true or false to indicate if team selection is locked */ + GetTeamSelectionLocked(): boolean; + /** Get all team IDs */ + GetAllTeamIDs(); + /** Get all player IDs */ + GetAllPlayerIDs(); + /** Get unassigned player IDs */ + GetUnassignedPlayerIDs(); + /** Get info about the player hero ultimate ability */ + GetPlayerUltimateStateOrTime( nPlayerID: number ): number; + /** Whether the local player has muted text and voice chat for the specified player id */ + IsPlayerMuted( nPlayerID: number ): boolean; + /** Set whether the local player has muted text and voice chat for the specified player id */ + SetPlayerMuted( nPlayerID: number, bMuted: boolean ): void; + /** Whether the local player has muted voice chat for the specified player id */ + IsPlayerMutedVoice( nPlayerID: number ): boolean; + /** Set whether the local player has muted voice chat for the specified player id */ + SetPlayerMutedVoice( nPlayerID: number, bMutedVoice: boolean ): void; + /** Whether the local player has muted text chat for the specified player id */ + IsPlayerMutedText( nPlayerID: number ): boolean; + /** Set whether the local player has muted text chat for the specified player id */ + SetPlayerMutedText( nPlayerID: number, bMutedText: boolean ): void; + /** Get detailed information for the given team */ + GetTeamDetails( nTeam: number ); + /** Get details for the local player */ + GetLocalPlayerInfo(); + /** Get info about the player items. */ + GetPlayerItems( nPlayerID: number ); + /** Get info about the given player */ + GetPlayerInfo( nPlayerID: number ); + /** Get player IDs for the given team */ + GetPlayerIDsOnTeam( nTeam: number ); + ServerCmd( pMsg: string ): void; + SetDotaRefractHeroes( bEnabled: boolean ): void; + FinishGame(): void; + LeaveCurrentGame(): void; + Disconnect(): void; + FindEventMatch(): void; + SlideOutEventGamePlayButton(): void; + /** Emit a sound for the local player. Returns an integer handle that can be passed to StopSound. (Returns 0 on failure.) */ + EmitSound( pSoundEventName: string ): number; + /** Stop a current playing sound on the local player. Takes handle from a call to EmitSound. */ + StopSound( nHandle: number ): void; + /** Ask whether the in game shop is open. */ + IsShopOpen(): boolean; + /** Set custom shop context. */ + SetCustomShopEntityString( pszCustomShopEntityString: string ): void; + /** Get the bool value of the specific convar. Asserts if invalid and returns false */ + GetConvarBool( cvar: string ): boolean; + /** Get the int value of the specific convar. Asserts if invalid and returns 0 */ + GetConvarInt( cvar: string ): number; + /** Get the float value of the specific convar. Asserts if invalid and returns 0.f */ + GetConvarFloat( cvar: string ): number; + /** Return information about the current map. */ + GetMapInfo(); + /** Orders from the local player - takes a single arguments object that supports: dotaunitorder_t OrderType, ent_index TargetIndex, vector Position, ent_index AbilityIndex, OrderIssuer_t OrderIssuer, ent_index UnitIndex, OrderQueueBehavior_t QueueBehavior, bool ShowEffects. */ + PrepareUnitOrders( args ): void; + /** Order a unit to drop the specified item at the current cursor location. */ + DropItemAtCursor( nControlledUnitEnt: number, nItemEnt: number ): void; + /** Calculate 2D length. */ + Length2D( vec1, vec2 ): number; + /** Returns normalized vector. */ + Normalized( vec ); + EnterAbilityLearnMode(): void; + EndAbilityLearnMode(): void; + IsInAbilityLearnMode(): boolean; +} +interface CDOTA_PanoramaScript_GameUI +{ + /** Control whether the default UI is enabled */ + SetDefaultUIEnabled( nElementType: number, bVisible: boolean ): void; + /** Save persistent data used by an event game */ + SavePersistentEventGameData( val ): void; + /** Load persistent data used by an event game */ + LoadPersistentEventGameData( args ): void; + /** Get the current UI configuration */ + CustomUIConfig( args ): void; + /** Create a minimap ping at the given location */ + PingMinimapAtLocation( vec3 ): void; + /** Install a mouse input filter */ + SetMouseCallback( callbackFn ): void; + /** Query to check if Tips are available for the local player */ + AreTipsAvailable(): boolean; + /** Query to see if the local player can tip a specific player */ + IsPlayerTippable( iPlayerID: number ): boolean; + /** Tip a player */ + TipPlayer( iPlayerID: number ): void; + EnableAliMode( bEnable: boolean, nPort: number, offsetVal, flScale: number ): void; + /** Get the current mouse position. */ + GetCursorPosition( args ): void; + /** Return the entity index of the entity under the given screen position. */ + FindScreenEntities( args ): void; + /** Get the world position of the screen position, or null if the cursor is out of the world. */ + GetScreenWorldPosition( args ): void; + /** Install a mouse input filter */ + WasMousePressed( nButtonNum: number ): boolean; + /** Install a mouse input filter */ + WasMouseDoublePressed( nButtonNum: number ): boolean; + /** Install a mouse input filter */ + IsMouseDown( nButtonNum: number ): boolean; + /** Is the shift button pressed? */ + IsShiftDown(): boolean; + /** Is the alt button pressed? */ + IsAltDown(): boolean; + /** Is the control button pressed? */ + IsControlDown(): boolean; + /** Get the current UI click interaction mode. */ + GetClickBehaviors(): number; + /** Select a unit, adding it to the group or replacing the current selection. */ + SelectUnit( nEntityIndex: number, bAddToGroup: boolean ): void; + /** Get the current look at position. */ + GetCameraLookAtPosition(); + /** Get the current camera position. */ + GetCameraPosition(); + /** Get the current look at position height offset. */ + GetCameraLookAtPositionHeightOffset(): number; + /** Set the minimum camera pitch angle. */ + SetCameraPitchMin( flPitchMin: number ): void; + /** Set the maximum camera pitch angle. */ + SetCameraPitchMax( flPitchMax: number ): void; + /** Set the camera's yaw. */ + SetCameraYaw( flCameraYaw: number ): void; + /** Get the camera's yaw. */ + GetCameraYaw(): number; + /** Offset the camera's look at point. */ + SetCameraLookAtPositionHeightOffset( flCameraLookAtHeightOffset: number ): void; + /** Set the camera from a lateral position. */ + SetCameraPositionFromLateralLookAtPosition( x: number, y: number ): void; + /** Set whether the camera should automatically adjust to average terrain height. */ + SetCameraTerrainAdjustmentEnabled( bEnabled: boolean ): void; + /** Set the camera distance from the look at point. */ + SetCameraDistance( flDistance: number ): void; + /** Set the gap between the bottom of the screen and the game rendering viewport. (Value expressed as pixels in a normalized 1024x768 viewport.) */ + SetRenderBottomInsetOverride( nInset: number ): void; + /** Set the gap between the top of the screen and the game rendering viewport. (Value expressed as pixels in a normalized 1024x768 viewport.) */ + SetRenderTopInsetOverride( nInset: number ): void; + /** Set the camera target for the local player, or -1 to clear. */ + SetCameraTarget( nTargetEntIndex: number ): void; + /** Set the camera target as position for the local player over specified lerp. */ + SetCameraTargetPosition( vec3, flLerp: number ): void; + /** Moves the camera to an entity, but doesn't lock the camera on that entity. */ + MoveCameraToEntity( nTargetEntIndex: number ): void; + /** Converts the specified x,y,z world co-ordinate into an x,y screen coordinate. Will clamp position to always be in front of camera. Position returned as 0->1.0 */ + WorldToScreenXYClamped( vec3 ); + /** Get the current players scoreboard score for the specified zone. */ + GetPlayerScoreboardScore( pszScoreboardName: string ): number; + /** Send a custom client side error message with passed string and soundevent. */ + SendCustomHUDError( pszErrorText: string, pszErrorSound: string ): void; + /** Given a passed ability, replace the special value variables in the passed localized text. */ + ReplaceDOTAAbilitySpecialValues( args ): void; + /** Display a custom contextual tip (wizard tip) with specific loc string and duration */ + DisplayCustomContextualTip( args ): void; + /** Set the text of a passed label for a DOTA Talent using ability values. */ + SetupDOTATalentNameLabel( args ): void; + /** Returns true if the passed ability is a talent. */ + IsAbilityDOTATalent( pszAbilityName: string ): boolean; + /** Returns the localization token to use for a particular unit, given the unit's name */ + GetUnitLocToken( pszUnitName: string ): string; + /** Get the localized version of a unit's name */ + GetUnitNameLocalized( pszUnitName: string ): string; + /** Creates a localized version of the number */ + ConstructNumberString( args ): void; +} +interface CDOTA_PanoramaScript_Particles +{ + /** Create a particle system */ + CreateParticle( pParticleName: string, nAttachType: number, nEntityToAttach: number ): number; + /** Release a particle system */ + ReleaseParticleIndex( iIndex: number ): void; + /** Destroy a particle system */ + DestroyParticleEffect( iIndex: number, bDestroyImmediately: boolean ): void; + /** Set a control point on a particle system */ + SetParticleControl( iIndex: number, iPoint: number, vPosVal ): void; + /** [OBSOLETE - Use SetParticleControlTransformForward] Set the orientation on a control point on a particle system */ + SetParticleControlForward( iIndex: number, iPoint: number, vForwardVal ): void; + /** Set the position and orientation on a control point on a particle system */ + SetParticleControlTransform( iIndex: number, iPoint: number, vOriginVal, vAnglesVal ): void; + /** Set the position and orientation (derived from a forward direction) on a control point on a particle system */ + SetParticleControlTransformForward( iIndex: number, iPoint: number, vOriginVal, vForwardVal ): void; + SetParticleAlwaysSimulate( iIndex: number ): void; + /** Set a control point to track an entity on a particle system */ + SetParticleControlEnt( iIndex: number, iPoint: number, iEntIndex: number, iAttachType: number, pszAttachName: string, vecFallbackPositionVal, bIncludeWearables: boolean ): void; +} +interface CDOTA_PanoramaScript_EventData +{ + /** Get the score of an EventAction */ + GetEventActionScore( unEventID: number, unActionID: number ): number; + /** Get a periodic resource value used */ + GetPeriodicResourceUsed( unPeriodicResourceID: number ): number; + /** Get a periodic resource value max */ + GetPeriodicResourceMax( unPeriodicResourceID: number ): number; + /** Is this the first time we've launched this season? */ + IsFirstRunThisEvent(): boolean; +} +interface CDOTA_PanoramaScript_LocalInventory +{ + /** Does the player have an inventory item of a given item definition index? */ + HasItemByDefinition( nDefIndex: number ): boolean; +} +interface $ +{ + /** Log a message */ + Msg( _arg_1 ): void; + /** Trigger an assert */ + AssertHelper( _arg_1 ): void; + /** Log a warning message to specified channel */ + Warning( _arg_1 ): void; + /** Dispatch an event */ + DispatchEvent( _arg_1 ): void; + /** Dispatch an event to occur later */ + DispatchEventAsync( _arg_1 ): void; + /** Register an event handler */ + RegisterEventHandler( _arg_1 ): void; + /** Register a handler for an event that is not otherwise handled */ + RegisterForUnhandledEvent( _arg_1 ): void; + /** Remove an unhandled event handler */ + UnregisterForUnhandledEvent( _arg_1 ): void; + /** Find an element */ + FindChildInContext( _arg_1 ): void; + /** Make a web request (disabled) */ + AsyncWebRequest( _arg_1 ): void; + /** Create a new panel */ + CreatePanel( _arg_1 ): void; + /** DEPRECATED: Use $.CreatePanel which has the same signature and supports properties. */ + CreatePanelWithProperties( _arg_1 ): void; + /** Localize a string. Optionally accepts Quantity, Precision, and Panel arguments. */ + Localize( _arg_1 ): void; + /** DEPRECATED: Use $.Localize which has the same signature and supports pluralization. */ + LocalizePlural( _arg_1 ): void; + /** Get the current language */ + Language( _arg_1 ): void; + /** Schedule a function to be called later */ + Schedule( _arg_1 ): void; + /** Cancels a scheduled function */ + CancelScheduled( _arg_1 ): void; + /** Gets the time this frame started, in seconds since panorama was initialized */ + FrameTime( _arg_1 ): void; + /** Get the current panel context */ + GetContextPanel( _arg_1 ): void; + /** Register a key binding */ + RegisterKeyBind( _arg_1 ): void; + /** Call a function on each given item */ + Each( _arg_1 ): void; + /** Call during JS startup code to check if script is being reloaded */ + DbgIsReloadingScript( _arg_1 ): void; + /** Convert a string to HTML-safe */ + HTMLEscape( _arg_1 ): void; + /** Create a logging channel */ + LogChannel( _arg_1 ): void; + /** Return true if a file exists. Path will usually start with 'file://{images}' */ + BImageFileExists( _arg_1 ): void; +} +interface DOTAHeroModelOverlay +{ + visible( _arg_1: boolean ): boolean; + enabled( _arg_1: boolean ): boolean; + checked( _arg_1: boolean ): boolean; + defaultfocus( _arg_1: string ): string; + inputnamespace( _arg_1: string ): string; + hittest( _arg_1: boolean ): boolean; + hittestchildren( _arg_1: boolean ): boolean; + tabindex( _arg_1: number ): number; + selectionpos_x( _arg_1: number ): number; + selectionpos_y( _arg_1: number ): number; + type(): string; + id(): string; + layoutfile(); + contentwidth(): number; + contentheight(): number; + desiredlayoutwidth(): number; + desiredlayoutheight(): number; + actuallayoutwidth(): number; + actuallayoutheight(): number; + actualxoffset(): number; + actualyoffset(): number; + scrolloffset_y(): number; + scrolloffset_x(): number; + actualuiscale_y(): number; + actualuiscale_x(): number; + style(); + AddClass( _arg_1: string ): void; + RemoveClass( _arg_1: string ): void; + BHasClass( _arg_1: string ): boolean; + BAscendantHasClass( _arg_1: string ): boolean; + SetHasClass( _arg_1: string, _arg_2: boolean ): void; + ToggleClass( _arg_1: string ): void; + SwitchClass( _arg_1: string, _arg_2: string ): void; + TriggerClass( _arg_1: string ): void; + ClearPanelEvent( _arg_1: string ): void; + SetDraggable( _arg_1: boolean ): void; + IsDraggable(): boolean; + IsSizeValid(): boolean; + GetChildCount(): number; + GetChild( _arg_1: number ); + GetChildIndex( _arg_1 ): number; + Children(); + FindChildrenWithClassTraverse( _arg_1: string ); + GetParent(); + SetParent( _arg_1 ): void; + FindChild( _arg_1: string ); + FindChildTraverse( _arg_1: string ); + FindChildInLayoutFile( _arg_1: string ); + FindPanelInThisOrParentLayoutFile( _arg_1: string ); + FindAncestor( _arg_1: string ); + RemoveAndDeleteChildren(): void; + MoveChildBefore( _arg_1, _arg_2 ): void; + MoveChildAfter( _arg_1, _arg_2 ): void; + GetPositionWithinWindow(); + GetPositionWithinAncestor( _arg_1 ); + GetPosition( _arg_1: boolean ); + ApplyStyles( _arg_1: boolean ): void; + ClearPropertyFromCode( _arg_1 ): void; + DeleteAsync( _arg_1: number ): void; + BIsTransparent(): boolean; + BAcceptsInput(): boolean; + BAcceptsFocus(): boolean; + SetFocus(): boolean; + UpdateFocusInContext(): boolean; + BHasHoverStyle(): boolean; + SetAcceptsInput( _arg_1: boolean ): void; + SetAcceptsFocus( _arg_1: boolean ): void; + SetDisableFocusOnMouseDown( _arg_1: boolean ): void; + BHasKeyFocus(): boolean; + SetScrollParentToFitWhenFocused( _arg_1: boolean ): void; + BScrollParentToFitWhenFocused(): boolean; + IsSelected(): boolean; + BHasDescendantKeyFocus(): boolean; + BLoadLayout( _arg_1: string, _arg_2: boolean, _arg_3: boolean ): boolean; + BLoadLayoutSnippet( _arg_1: string ): boolean; + BHasLayoutSnippet( _arg_1: string ): boolean; + BGetSnippetNames( _arg_1 ): void; + SetTopOfInputContext( _arg_1: boolean ): void; + SetDialogVariable( _arg_1: string, _arg_2: string ): void; + SetDialogVariableInt( _arg_1: string, _arg_2: number ): void; + SetDialogVariableTime( _arg_1: string, _arg_2: number ): void; + SetDialogVariableLocString( _arg_1: string, _arg_2: string ): void; + SetDialogVariableLocStringNested( _arg_1: string, _arg_2: string ): void; + SetDialogVariablePluralLocStringInt( _arg_1: string, _arg_2: string, _arg_3: number ): void; + ScrollToTop(): void; + ScrollToBottom(): void; + ScrollToLeftEdge(): void; + ScrollToRightEdge(): void; + ScrollParentToMakePanelFit( _arg_1, _arg_2: boolean ): void; + ScrollToFitRegion( _arg_1: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5, _arg_6: boolean, _arg_7: boolean ): void; + BCanSeeInParentScroll(): boolean; + GetAttributeInt( _arg_1: string, _arg_2: number ): number; + GetAttributeString( _arg_1: string, _arg_2: string ): string; + GetAttributeUInt32( _arg_1: string, _arg_2: number ): number; + SetAttributeInt( _arg_1: string, _arg_2: number ): void; + SetAttributeString( _arg_1: string, _arg_2: string ): void; + SetAttributeUInt32( _arg_1: string, _arg_2: number ): void; + SetInputNamespace( _arg_1: string ): void; + RegisterForReadyEvents( _arg_1: boolean ): void; + BReadyForDisplay(): boolean; + SetReadyForDisplay( _arg_1: boolean ): void; + SetPositionInPixels( _arg_1: number, _arg_2: number, _arg_3: number ): void; + Data( _arg_1 ): void; +// debug.description( _arg_1 ): void; + SetSendScrollPositionChangedEvents( _arg_1: boolean ): void; + SetPanelEvent( _arg_1 ): void; + RunScriptInPanelContext( _arg_1 ): void; + rememberchildfocus( _arg_1: boolean ): boolean; + paneltype(): string; +} +interface DOTAPlay +{ + visible( _arg_1: boolean ): boolean; + enabled( _arg_1: boolean ): boolean; + checked( _arg_1: boolean ): boolean; + defaultfocus( _arg_1: string ): string; + inputnamespace( _arg_1: string ): string; + hittest( _arg_1: boolean ): boolean; + hittestchildren( _arg_1: boolean ): boolean; + tabindex( _arg_1: number ): number; + selectionpos_x( _arg_1: number ): number; + selectionpos_y( _arg_1: number ): number; + type(): string; + id(): string; + layoutfile(); + contentwidth(): number; + contentheight(): number; + desiredlayoutwidth(): number; + desiredlayoutheight(): number; + actuallayoutwidth(): number; + actuallayoutheight(): number; + actualxoffset(): number; + actualyoffset(): number; + scrolloffset_y(): number; + scrolloffset_x(): number; + actualuiscale_y(): number; + actualuiscale_x(): number; + style(); + AddClass( _arg_1: string ): void; + RemoveClass( _arg_1: string ): void; + BHasClass( _arg_1: string ): boolean; + BAscendantHasClass( _arg_1: string ): boolean; + SetHasClass( _arg_1: string, _arg_2: boolean ): void; + ToggleClass( _arg_1: string ): void; + SwitchClass( _arg_1: string, _arg_2: string ): void; + TriggerClass( _arg_1: string ): void; + ClearPanelEvent( _arg_1: string ): void; + SetDraggable( _arg_1: boolean ): void; + IsDraggable(): boolean; + IsSizeValid(): boolean; + GetChildCount(): number; + GetChild( _arg_1: number ); + GetChildIndex( _arg_1 ): number; + Children(); + FindChildrenWithClassTraverse( _arg_1: string ); + GetParent(); + SetParent( _arg_1 ): void; + FindChild( _arg_1: string ); + FindChildTraverse( _arg_1: string ); + FindChildInLayoutFile( _arg_1: string ); + FindPanelInThisOrParentLayoutFile( _arg_1: string ); + FindAncestor( _arg_1: string ); + RemoveAndDeleteChildren(): void; + MoveChildBefore( _arg_1, _arg_2 ): void; + MoveChildAfter( _arg_1, _arg_2 ): void; + GetPositionWithinWindow(); + GetPositionWithinAncestor( _arg_1 ); + GetPosition( _arg_1: boolean ); + ApplyStyles( _arg_1: boolean ): void; + ClearPropertyFromCode( _arg_1 ): void; + DeleteAsync( _arg_1: number ): void; + BIsTransparent(): boolean; + BAcceptsInput(): boolean; + BAcceptsFocus(): boolean; + SetFocus(): boolean; + UpdateFocusInContext(): boolean; + BHasHoverStyle(): boolean; + SetAcceptsInput( _arg_1: boolean ): void; + SetAcceptsFocus( _arg_1: boolean ): void; + SetDisableFocusOnMouseDown( _arg_1: boolean ): void; + BHasKeyFocus(): boolean; + SetScrollParentToFitWhenFocused( _arg_1: boolean ): void; + BScrollParentToFitWhenFocused(): boolean; + IsSelected(): boolean; + BHasDescendantKeyFocus(): boolean; + BLoadLayout( _arg_1: string, _arg_2: boolean, _arg_3: boolean ): boolean; + BLoadLayoutSnippet( _arg_1: string ): boolean; + BHasLayoutSnippet( _arg_1: string ): boolean; + BGetSnippetNames( _arg_1 ): void; + SetTopOfInputContext( _arg_1: boolean ): void; + SetDialogVariable( _arg_1: string, _arg_2: string ): void; + SetDialogVariableInt( _arg_1: string, _arg_2: number ): void; + SetDialogVariableTime( _arg_1: string, _arg_2: number ): void; + SetDialogVariableLocString( _arg_1: string, _arg_2: string ): void; + SetDialogVariableLocStringNested( _arg_1: string, _arg_2: string ): void; + SetDialogVariablePluralLocStringInt( _arg_1: string, _arg_2: string, _arg_3: number ): void; + ScrollToTop(): void; + ScrollToBottom(): void; + ScrollToLeftEdge(): void; + ScrollToRightEdge(): void; + ScrollParentToMakePanelFit( _arg_1, _arg_2: boolean ): void; + ScrollToFitRegion( _arg_1: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5, _arg_6: boolean, _arg_7: boolean ): void; + BCanSeeInParentScroll(): boolean; + GetAttributeInt( _arg_1: string, _arg_2: number ): number; + GetAttributeString( _arg_1: string, _arg_2: string ): string; + GetAttributeUInt32( _arg_1: string, _arg_2: number ): number; + SetAttributeInt( _arg_1: string, _arg_2: number ): void; + SetAttributeString( _arg_1: string, _arg_2: string ): void; + SetAttributeUInt32( _arg_1: string, _arg_2: number ): void; + SetInputNamespace( _arg_1: string ): void; + RegisterForReadyEvents( _arg_1: boolean ): void; + BReadyForDisplay(): boolean; + SetReadyForDisplay( _arg_1: boolean ): void; + SetPositionInPixels( _arg_1: number, _arg_2: number, _arg_3: number ): void; + Data( _arg_1 ): void; +// debug.description( _arg_1 ): void; + SetSendScrollPositionChangedEvents( _arg_1: boolean ): void; + GetActiveFeaturedGamemode( _arg_1 ): void; + GetFeaturedGamemodeProgress(): number; + GetFeaturedGamemodeMax(): number; + GetSelectedGameModes(): number; + UpdateCasualGameModeCheckboxes(): void; + SetPanelEvent( _arg_1 ): void; + RunScriptInPanelContext( _arg_1 ): void; + rememberchildfocus( _arg_1: boolean ): boolean; + paneltype(): string; +} +interface Panel +{ + visible( _arg_1: boolean ): boolean; + enabled( _arg_1: boolean ): boolean; + checked( _arg_1: boolean ): boolean; + defaultfocus( _arg_1: string ): string; + inputnamespace( _arg_1: string ): string; + hittest( _arg_1: boolean ): boolean; + hittestchildren( _arg_1: boolean ): boolean; + tabindex( _arg_1: number ): number; + selectionpos_x( _arg_1: number ): number; + selectionpos_y( _arg_1: number ): number; + type(): string; + id(): string; + layoutfile(); + contentwidth(): number; + contentheight(): number; + desiredlayoutwidth(): number; + desiredlayoutheight(): number; + actuallayoutwidth(): number; + actuallayoutheight(): number; + actualxoffset(): number; + actualyoffset(): number; + scrolloffset_y(): number; + scrolloffset_x(): number; + actualuiscale_y(): number; + actualuiscale_x(): number; + style(); + AddClass( _arg_1: string ): void; + RemoveClass( _arg_1: string ): void; + BHasClass( _arg_1: string ): boolean; + BAscendantHasClass( _arg_1: string ): boolean; + SetHasClass( _arg_1: string, _arg_2: boolean ): void; + ToggleClass( _arg_1: string ): void; + SwitchClass( _arg_1: string, _arg_2: string ): void; + TriggerClass( _arg_1: string ): void; + ClearPanelEvent( _arg_1: string ): void; + SetDraggable( _arg_1: boolean ): void; + IsDraggable(): boolean; + IsSizeValid(): boolean; + GetChildCount(): number; + GetChild( _arg_1: number ); + GetChildIndex( _arg_1 ): number; + Children(); + FindChildrenWithClassTraverse( _arg_1: string ); + GetParent(); + SetParent( _arg_1 ): void; + FindChild( _arg_1: string ); + FindChildTraverse( _arg_1: string ); + FindChildInLayoutFile( _arg_1: string ); + FindPanelInThisOrParentLayoutFile( _arg_1: string ); + FindAncestor( _arg_1: string ); + RemoveAndDeleteChildren(): void; + MoveChildBefore( _arg_1, _arg_2 ): void; + MoveChildAfter( _arg_1, _arg_2 ): void; + GetPositionWithinWindow(); + GetPositionWithinAncestor( _arg_1 ); + GetPosition( _arg_1: boolean ); + ApplyStyles( _arg_1: boolean ): void; + ClearPropertyFromCode( _arg_1 ): void; + DeleteAsync( _arg_1: number ): void; + BIsTransparent(): boolean; + BAcceptsInput(): boolean; + BAcceptsFocus(): boolean; + SetFocus(): boolean; + UpdateFocusInContext(): boolean; + BHasHoverStyle(): boolean; + SetAcceptsInput( _arg_1: boolean ): void; + SetAcceptsFocus( _arg_1: boolean ): void; + SetDisableFocusOnMouseDown( _arg_1: boolean ): void; + BHasKeyFocus(): boolean; + SetScrollParentToFitWhenFocused( _arg_1: boolean ): void; + BScrollParentToFitWhenFocused(): boolean; + IsSelected(): boolean; + BHasDescendantKeyFocus(): boolean; + BLoadLayout( _arg_1: string, _arg_2: boolean, _arg_3: boolean ): boolean; + BLoadLayoutSnippet( _arg_1: string ): boolean; + BHasLayoutSnippet( _arg_1: string ): boolean; + BGetSnippetNames( _arg_1 ): void; + SetTopOfInputContext( _arg_1: boolean ): void; + SetDialogVariable( _arg_1: string, _arg_2: string ): void; + SetDialogVariableInt( _arg_1: string, _arg_2: number ): void; + SetDialogVariableTime( _arg_1: string, _arg_2: number ): void; + SetDialogVariableLocString( _arg_1: string, _arg_2: string ): void; + SetDialogVariableLocStringNested( _arg_1: string, _arg_2: string ): void; + SetDialogVariablePluralLocStringInt( _arg_1: string, _arg_2: string, _arg_3: number ): void; + ScrollToTop(): void; + ScrollToBottom(): void; + ScrollToLeftEdge(): void; + ScrollToRightEdge(): void; + ScrollParentToMakePanelFit( _arg_1, _arg_2: boolean ): void; + ScrollToFitRegion( _arg_1: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5, _arg_6: boolean, _arg_7: boolean ): void; + BCanSeeInParentScroll(): boolean; + GetAttributeInt( _arg_1: string, _arg_2: number ): number; + GetAttributeString( _arg_1: string, _arg_2: string ): string; + GetAttributeUInt32( _arg_1: string, _arg_2: number ): number; + SetAttributeInt( _arg_1: string, _arg_2: number ): void; + SetAttributeString( _arg_1: string, _arg_2: string ): void; + SetAttributeUInt32( _arg_1: string, _arg_2: number ): void; + SetInputNamespace( _arg_1: string ): void; + RegisterForReadyEvents( _arg_1: boolean ): void; + BReadyForDisplay(): boolean; + SetReadyForDisplay( _arg_1: boolean ): void; + SetPositionInPixels( _arg_1: number, _arg_2: number, _arg_3: number ): void; + Data( _arg_1 ): void; +// debug.description( _arg_1 ): void; + SetSendScrollPositionChangedEvents( _arg_1: boolean ): void; + SetPanelEvent( _arg_1 ): void; + RunScriptInPanelContext( _arg_1 ): void; + rememberchildfocus( _arg_1: boolean ): boolean; + paneltype(): string; +} +interface Label +{ + visible( _arg_1: boolean ): boolean; + enabled( _arg_1: boolean ): boolean; + checked( _arg_1: boolean ): boolean; + defaultfocus( _arg_1: string ): string; + inputnamespace( _arg_1: string ): string; + hittest( _arg_1: boolean ): boolean; + hittestchildren( _arg_1: boolean ): boolean; + tabindex( _arg_1: number ): number; + selectionpos_x( _arg_1: number ): number; + selectionpos_y( _arg_1: number ): number; + type(): string; + id(): string; + layoutfile(); + contentwidth(): number; + contentheight(): number; + desiredlayoutwidth(): number; + desiredlayoutheight(): number; + actuallayoutwidth(): number; + actuallayoutheight(): number; + actualxoffset(): number; + actualyoffset(): number; + scrolloffset_y(): number; + scrolloffset_x(): number; + actualuiscale_y(): number; + actualuiscale_x(): number; + style(); + AddClass( _arg_1: string ): void; + RemoveClass( _arg_1: string ): void; + BHasClass( _arg_1: string ): boolean; + BAscendantHasClass( _arg_1: string ): boolean; + SetHasClass( _arg_1: string, _arg_2: boolean ): void; + ToggleClass( _arg_1: string ): void; + SwitchClass( _arg_1: string, _arg_2: string ): void; + TriggerClass( _arg_1: string ): void; + ClearPanelEvent( _arg_1: string ): void; + SetDraggable( _arg_1: boolean ): void; + IsDraggable(): boolean; + IsSizeValid(): boolean; + GetChildCount(): number; + GetChild( _arg_1: number ); + GetChildIndex( _arg_1 ): number; + Children(); + FindChildrenWithClassTraverse( _arg_1: string ); + GetParent(); + SetParent( _arg_1 ): void; + FindChild( _arg_1: string ); + FindChildTraverse( _arg_1: string ); + FindChildInLayoutFile( _arg_1: string ); + FindPanelInThisOrParentLayoutFile( _arg_1: string ); + FindAncestor( _arg_1: string ); + RemoveAndDeleteChildren(): void; + MoveChildBefore( _arg_1, _arg_2 ): void; + MoveChildAfter( _arg_1, _arg_2 ): void; + GetPositionWithinWindow(); + GetPositionWithinAncestor( _arg_1 ); + GetPosition( _arg_1: boolean ); + ApplyStyles( _arg_1: boolean ): void; + ClearPropertyFromCode( _arg_1 ): void; + DeleteAsync( _arg_1: number ): void; + BIsTransparent(): boolean; + BAcceptsInput(): boolean; + BAcceptsFocus(): boolean; + SetFocus(): boolean; + UpdateFocusInContext(): boolean; + BHasHoverStyle(): boolean; + SetAcceptsInput( _arg_1: boolean ): void; + SetAcceptsFocus( _arg_1: boolean ): void; + SetDisableFocusOnMouseDown( _arg_1: boolean ): void; + BHasKeyFocus(): boolean; + SetScrollParentToFitWhenFocused( _arg_1: boolean ): void; + BScrollParentToFitWhenFocused(): boolean; + IsSelected(): boolean; + BHasDescendantKeyFocus(): boolean; + BLoadLayout( _arg_1: string, _arg_2: boolean, _arg_3: boolean ): boolean; + BLoadLayoutSnippet( _arg_1: string ): boolean; + BHasLayoutSnippet( _arg_1: string ): boolean; + BGetSnippetNames( _arg_1 ): void; + SetTopOfInputContext( _arg_1: boolean ): void; + SetDialogVariable( _arg_1: string, _arg_2: string ): void; + SetDialogVariableInt( _arg_1: string, _arg_2: number ): void; + SetDialogVariableTime( _arg_1: string, _arg_2: number ): void; + SetDialogVariableLocString( _arg_1: string, _arg_2: string ): void; + SetDialogVariableLocStringNested( _arg_1: string, _arg_2: string ): void; + SetDialogVariablePluralLocStringInt( _arg_1: string, _arg_2: string, _arg_3: number ): void; + ScrollToTop(): void; + ScrollToBottom(): void; + ScrollToLeftEdge(): void; + ScrollToRightEdge(): void; + ScrollParentToMakePanelFit( _arg_1, _arg_2: boolean ): void; + ScrollToFitRegion( _arg_1: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5, _arg_6: boolean, _arg_7: boolean ): void; + BCanSeeInParentScroll(): boolean; + GetAttributeInt( _arg_1: string, _arg_2: number ): number; + GetAttributeString( _arg_1: string, _arg_2: string ): string; + GetAttributeUInt32( _arg_1: string, _arg_2: number ): number; + SetAttributeInt( _arg_1: string, _arg_2: number ): void; + SetAttributeString( _arg_1: string, _arg_2: string ): void; + SetAttributeUInt32( _arg_1: string, _arg_2: number ): void; + SetInputNamespace( _arg_1: string ): void; + RegisterForReadyEvents( _arg_1: boolean ): void; + BReadyForDisplay(): boolean; + SetReadyForDisplay( _arg_1: boolean ): void; + SetPositionInPixels( _arg_1: number, _arg_2: number, _arg_3: number ): void; + Data( _arg_1 ): void; +// debug.description( _arg_1 ): void; + SetSendScrollPositionChangedEvents( _arg_1: boolean ): void; + text( _arg_1: string ): string; + html( _arg_1: boolean ): boolean; + SetLocString( _arg_1: string ): void; + SetAlreadyLocalizedText( _arg_1: string ): void; + SetPanelEvent( _arg_1 ): void; + RunScriptInPanelContext( _arg_1 ): void; + rememberchildfocus( _arg_1: boolean ): boolean; + paneltype(): string; +} +interface ToggleButton +{ + visible( _arg_1: boolean ): boolean; + enabled( _arg_1: boolean ): boolean; + checked( _arg_1: boolean ): boolean; + defaultfocus( _arg_1: string ): string; + inputnamespace( _arg_1: string ): string; + hittest( _arg_1: boolean ): boolean; + hittestchildren( _arg_1: boolean ): boolean; + tabindex( _arg_1: number ): number; + selectionpos_x( _arg_1: number ): number; + selectionpos_y( _arg_1: number ): number; + type(): string; + id(): string; + layoutfile(); + contentwidth(): number; + contentheight(): number; + desiredlayoutwidth(): number; + desiredlayoutheight(): number; + actuallayoutwidth(): number; + actuallayoutheight(): number; + actualxoffset(): number; + actualyoffset(): number; + scrolloffset_y(): number; + scrolloffset_x(): number; + actualuiscale_y(): number; + actualuiscale_x(): number; + style(); + AddClass( _arg_1: string ): void; + RemoveClass( _arg_1: string ): void; + BHasClass( _arg_1: string ): boolean; + BAscendantHasClass( _arg_1: string ): boolean; + SetHasClass( _arg_1: string, _arg_2: boolean ): void; + ToggleClass( _arg_1: string ): void; + SwitchClass( _arg_1: string, _arg_2: string ): void; + TriggerClass( _arg_1: string ): void; + ClearPanelEvent( _arg_1: string ): void; + SetDraggable( _arg_1: boolean ): void; + IsDraggable(): boolean; + IsSizeValid(): boolean; + GetChildCount(): number; + GetChild( _arg_1: number ); + GetChildIndex( _arg_1 ): number; + Children(); + FindChildrenWithClassTraverse( _arg_1: string ); + GetParent(); + SetParent( _arg_1 ): void; + FindChild( _arg_1: string ); + FindChildTraverse( _arg_1: string ); + FindChildInLayoutFile( _arg_1: string ); + FindPanelInThisOrParentLayoutFile( _arg_1: string ); + FindAncestor( _arg_1: string ); + RemoveAndDeleteChildren(): void; + MoveChildBefore( _arg_1, _arg_2 ): void; + MoveChildAfter( _arg_1, _arg_2 ): void; + GetPositionWithinWindow(); + GetPositionWithinAncestor( _arg_1 ); + GetPosition( _arg_1: boolean ); + ApplyStyles( _arg_1: boolean ): void; + ClearPropertyFromCode( _arg_1 ): void; + DeleteAsync( _arg_1: number ): void; + BIsTransparent(): boolean; + BAcceptsInput(): boolean; + BAcceptsFocus(): boolean; + SetFocus(): boolean; + UpdateFocusInContext(): boolean; + BHasHoverStyle(): boolean; + SetAcceptsInput( _arg_1: boolean ): void; + SetAcceptsFocus( _arg_1: boolean ): void; + SetDisableFocusOnMouseDown( _arg_1: boolean ): void; + BHasKeyFocus(): boolean; + SetScrollParentToFitWhenFocused( _arg_1: boolean ): void; + BScrollParentToFitWhenFocused(): boolean; + IsSelected(): boolean; + BHasDescendantKeyFocus(): boolean; + BLoadLayout( _arg_1: string, _arg_2: boolean, _arg_3: boolean ): boolean; + BLoadLayoutSnippet( _arg_1: string ): boolean; + BHasLayoutSnippet( _arg_1: string ): boolean; + BGetSnippetNames( _arg_1 ): void; + SetTopOfInputContext( _arg_1: boolean ): void; + SetDialogVariable( _arg_1: string, _arg_2: string ): void; + SetDialogVariableInt( _arg_1: string, _arg_2: number ): void; + SetDialogVariableTime( _arg_1: string, _arg_2: number ): void; + SetDialogVariableLocString( _arg_1: string, _arg_2: string ): void; + SetDialogVariableLocStringNested( _arg_1: string, _arg_2: string ): void; + SetDialogVariablePluralLocStringInt( _arg_1: string, _arg_2: string, _arg_3: number ): void; + ScrollToTop(): void; + ScrollToBottom(): void; + ScrollToLeftEdge(): void; + ScrollToRightEdge(): void; + ScrollParentToMakePanelFit( _arg_1, _arg_2: boolean ): void; + ScrollToFitRegion( _arg_1: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5, _arg_6: boolean, _arg_7: boolean ): void; + BCanSeeInParentScroll(): boolean; + GetAttributeInt( _arg_1: string, _arg_2: number ): number; + GetAttributeString( _arg_1: string, _arg_2: string ): string; + GetAttributeUInt32( _arg_1: string, _arg_2: number ): number; + SetAttributeInt( _arg_1: string, _arg_2: number ): void; + SetAttributeString( _arg_1: string, _arg_2: string ): void; + SetAttributeUInt32( _arg_1: string, _arg_2: number ): void; + SetInputNamespace( _arg_1: string ): void; + RegisterForReadyEvents( _arg_1: boolean ): void; + BReadyForDisplay(): boolean; + SetReadyForDisplay( _arg_1: boolean ): void; + SetPositionInPixels( _arg_1: number, _arg_2: number, _arg_3: number ): void; + Data( _arg_1 ): void; +// debug.description( _arg_1 ): void; + SetSendScrollPositionChangedEvents( _arg_1: boolean ): void; + SetSelected( _arg_1: boolean ): void; + text( _arg_1: string ): string; + SetPanelEvent( _arg_1 ): void; + RunScriptInPanelContext( _arg_1 ): void; + rememberchildfocus( _arg_1: boolean ): boolean; + paneltype(): string; +} +interface TabButton +{ + visible( _arg_1: boolean ): boolean; + enabled( _arg_1: boolean ): boolean; + checked( _arg_1: boolean ): boolean; + defaultfocus( _arg_1: string ): string; + inputnamespace( _arg_1: string ): string; + hittest( _arg_1: boolean ): boolean; + hittestchildren( _arg_1: boolean ): boolean; + tabindex( _arg_1: number ): number; + selectionpos_x( _arg_1: number ): number; + selectionpos_y( _arg_1: number ): number; + type(): string; + id(): string; + layoutfile(); + contentwidth(): number; + contentheight(): number; + desiredlayoutwidth(): number; + desiredlayoutheight(): number; + actuallayoutwidth(): number; + actuallayoutheight(): number; + actualxoffset(): number; + actualyoffset(): number; + scrolloffset_y(): number; + scrolloffset_x(): number; + actualuiscale_y(): number; + actualuiscale_x(): number; + style(); + AddClass( _arg_1: string ): void; + RemoveClass( _arg_1: string ): void; + BHasClass( _arg_1: string ): boolean; + BAscendantHasClass( _arg_1: string ): boolean; + SetHasClass( _arg_1: string, _arg_2: boolean ): void; + ToggleClass( _arg_1: string ): void; + SwitchClass( _arg_1: string, _arg_2: string ): void; + TriggerClass( _arg_1: string ): void; + ClearPanelEvent( _arg_1: string ): void; + SetDraggable( _arg_1: boolean ): void; + IsDraggable(): boolean; + IsSizeValid(): boolean; + GetChildCount(): number; + GetChild( _arg_1: number ); + GetChildIndex( _arg_1 ): number; + Children(); + FindChildrenWithClassTraverse( _arg_1: string ); + GetParent(); + SetParent( _arg_1 ): void; + FindChild( _arg_1: string ); + FindChildTraverse( _arg_1: string ); + FindChildInLayoutFile( _arg_1: string ); + FindPanelInThisOrParentLayoutFile( _arg_1: string ); + FindAncestor( _arg_1: string ); + RemoveAndDeleteChildren(): void; + MoveChildBefore( _arg_1, _arg_2 ): void; + MoveChildAfter( _arg_1, _arg_2 ): void; + GetPositionWithinWindow(); + GetPositionWithinAncestor( _arg_1 ); + GetPosition( _arg_1: boolean ); + ApplyStyles( _arg_1: boolean ): void; + ClearPropertyFromCode( _arg_1 ): void; + DeleteAsync( _arg_1: number ): void; + BIsTransparent(): boolean; + BAcceptsInput(): boolean; + BAcceptsFocus(): boolean; + SetFocus(): boolean; + UpdateFocusInContext(): boolean; + BHasHoverStyle(): boolean; + SetAcceptsInput( _arg_1: boolean ): void; + SetAcceptsFocus( _arg_1: boolean ): void; + SetDisableFocusOnMouseDown( _arg_1: boolean ): void; + BHasKeyFocus(): boolean; + SetScrollParentToFitWhenFocused( _arg_1: boolean ): void; + BScrollParentToFitWhenFocused(): boolean; + IsSelected(): boolean; + BHasDescendantKeyFocus(): boolean; + BLoadLayout( _arg_1: string, _arg_2: boolean, _arg_3: boolean ): boolean; + BLoadLayoutSnippet( _arg_1: string ): boolean; + BHasLayoutSnippet( _arg_1: string ): boolean; + BGetSnippetNames( _arg_1 ): void; + SetTopOfInputContext( _arg_1: boolean ): void; + SetDialogVariable( _arg_1: string, _arg_2: string ): void; + SetDialogVariableInt( _arg_1: string, _arg_2: number ): void; + SetDialogVariableTime( _arg_1: string, _arg_2: number ): void; + SetDialogVariableLocString( _arg_1: string, _arg_2: string ): void; + SetDialogVariableLocStringNested( _arg_1: string, _arg_2: string ): void; + SetDialogVariablePluralLocStringInt( _arg_1: string, _arg_2: string, _arg_3: number ): void; + ScrollToTop(): void; + ScrollToBottom(): void; + ScrollToLeftEdge(): void; + ScrollToRightEdge(): void; + ScrollParentToMakePanelFit( _arg_1, _arg_2: boolean ): void; + ScrollToFitRegion( _arg_1: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5, _arg_6: boolean, _arg_7: boolean ): void; + BCanSeeInParentScroll(): boolean; + GetAttributeInt( _arg_1: string, _arg_2: number ): number; + GetAttributeString( _arg_1: string, _arg_2: string ): string; + GetAttributeUInt32( _arg_1: string, _arg_2: number ): number; + SetAttributeInt( _arg_1: string, _arg_2: number ): void; + SetAttributeString( _arg_1: string, _arg_2: string ): void; + SetAttributeUInt32( _arg_1: string, _arg_2: number ): void; + SetInputNamespace( _arg_1: string ): void; + RegisterForReadyEvents( _arg_1: boolean ): void; + BReadyForDisplay(): boolean; + SetReadyForDisplay( _arg_1: boolean ): void; + SetPositionInPixels( _arg_1: number, _arg_2: number, _arg_3: number ): void; + Data( _arg_1 ): void; +// debug.description( _arg_1 ): void; + SetSendScrollPositionChangedEvents( _arg_1: boolean ): void; + SetPanelEvent( _arg_1 ): void; + RunScriptInPanelContext( _arg_1 ): void; + rememberchildfocus( _arg_1: boolean ): boolean; + paneltype(): string; +} +// No matches for 'DOTAMapUpdate2023Page' found +// No matches for 'DOTADashboard' found +// No matches for 'PageManager' found +// No matches for 'DOTAHomePage' found +// No matches for 'Movie' found +interface DOTAAvatarImage +{ + visible( _arg_1: boolean ): boolean; + enabled( _arg_1: boolean ): boolean; + checked( _arg_1: boolean ): boolean; + defaultfocus( _arg_1: string ): string; + inputnamespace( _arg_1: string ): string; + hittest( _arg_1: boolean ): boolean; + hittestchildren( _arg_1: boolean ): boolean; + tabindex( _arg_1: number ): number; + selectionpos_x( _arg_1: number ): number; + selectionpos_y( _arg_1: number ): number; + type(): string; + id(): string; + layoutfile(); + contentwidth(): number; + contentheight(): number; + desiredlayoutwidth(): number; + desiredlayoutheight(): number; + actuallayoutwidth(): number; + actuallayoutheight(): number; + actualxoffset(): number; + actualyoffset(): number; + scrolloffset_y(): number; + scrolloffset_x(): number; + actualuiscale_y(): number; + actualuiscale_x(): number; + style(); + AddClass( _arg_1: string ): void; + RemoveClass( _arg_1: string ): void; + BHasClass( _arg_1: string ): boolean; + BAscendantHasClass( _arg_1: string ): boolean; + SetHasClass( _arg_1: string, _arg_2: boolean ): void; + ToggleClass( _arg_1: string ): void; + SwitchClass( _arg_1: string, _arg_2: string ): void; + TriggerClass( _arg_1: string ): void; + ClearPanelEvent( _arg_1: string ): void; + SetDraggable( _arg_1: boolean ): void; + IsDraggable(): boolean; + IsSizeValid(): boolean; + GetChildCount(): number; + GetChild( _arg_1: number ); + GetChildIndex( _arg_1 ): number; + Children(); + FindChildrenWithClassTraverse( _arg_1: string ); + GetParent(); + SetParent( _arg_1 ): void; + FindChild( _arg_1: string ); + FindChildTraverse( _arg_1: string ); + FindChildInLayoutFile( _arg_1: string ); + FindPanelInThisOrParentLayoutFile( _arg_1: string ); + FindAncestor( _arg_1: string ); + RemoveAndDeleteChildren(): void; + MoveChildBefore( _arg_1, _arg_2 ): void; + MoveChildAfter( _arg_1, _arg_2 ): void; + GetPositionWithinWindow(); + GetPositionWithinAncestor( _arg_1 ); + GetPosition( _arg_1: boolean ); + ApplyStyles( _arg_1: boolean ): void; + ClearPropertyFromCode( _arg_1 ): void; + DeleteAsync( _arg_1: number ): void; + BIsTransparent(): boolean; + BAcceptsInput(): boolean; + BAcceptsFocus(): boolean; + SetFocus(): boolean; + UpdateFocusInContext(): boolean; + BHasHoverStyle(): boolean; + SetAcceptsInput( _arg_1: boolean ): void; + SetAcceptsFocus( _arg_1: boolean ): void; + SetDisableFocusOnMouseDown( _arg_1: boolean ): void; + BHasKeyFocus(): boolean; + SetScrollParentToFitWhenFocused( _arg_1: boolean ): void; + BScrollParentToFitWhenFocused(): boolean; + IsSelected(): boolean; + BHasDescendantKeyFocus(): boolean; + BLoadLayout( _arg_1: string, _arg_2: boolean, _arg_3: boolean ): boolean; + BLoadLayoutSnippet( _arg_1: string ): boolean; + BHasLayoutSnippet( _arg_1: string ): boolean; + BGetSnippetNames( _arg_1 ): void; + SetTopOfInputContext( _arg_1: boolean ): void; + SetDialogVariable( _arg_1: string, _arg_2: string ): void; + SetDialogVariableInt( _arg_1: string, _arg_2: number ): void; + SetDialogVariableTime( _arg_1: string, _arg_2: number ): void; + SetDialogVariableLocString( _arg_1: string, _arg_2: string ): void; + SetDialogVariableLocStringNested( _arg_1: string, _arg_2: string ): void; + SetDialogVariablePluralLocStringInt( _arg_1: string, _arg_2: string, _arg_3: number ): void; + ScrollToTop(): void; + ScrollToBottom(): void; + ScrollToLeftEdge(): void; + ScrollToRightEdge(): void; + ScrollParentToMakePanelFit( _arg_1, _arg_2: boolean ): void; + ScrollToFitRegion( _arg_1: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5, _arg_6: boolean, _arg_7: boolean ): void; + BCanSeeInParentScroll(): boolean; + GetAttributeInt( _arg_1: string, _arg_2: number ): number; + GetAttributeString( _arg_1: string, _arg_2: string ): string; + GetAttributeUInt32( _arg_1: string, _arg_2: number ): number; + SetAttributeInt( _arg_1: string, _arg_2: number ): void; + SetAttributeString( _arg_1: string, _arg_2: string ): void; + SetAttributeUInt32( _arg_1: string, _arg_2: number ): void; + SetInputNamespace( _arg_1: string ): void; + RegisterForReadyEvents( _arg_1: boolean ): void; + BReadyForDisplay(): boolean; + SetReadyForDisplay( _arg_1: boolean ): void; + SetPositionInPixels( _arg_1: number, _arg_2: number, _arg_3: number ): void; + Data( _arg_1 ): void; +// debug.description( _arg_1 ): void; + SetSendScrollPositionChangedEvents( _arg_1: boolean ): void; + steamid( _arg_1: string ): string; + accountid( _arg_1: string ): string; + SetAccountID( _arg_1: number ): void; + SetPanelEvent( _arg_1 ): void; + RunScriptInPanelContext( _arg_1 ): void; + rememberchildfocus( _arg_1: boolean ): boolean; + paneltype(): string; +} +interface CustomUIElement +{ + visible( _arg_1: boolean ): boolean; + enabled( _arg_1: boolean ): boolean; + checked( _arg_1: boolean ): boolean; + defaultfocus( _arg_1: string ): string; + inputnamespace( _arg_1: string ): string; + hittest( _arg_1: boolean ): boolean; + hittestchildren( _arg_1: boolean ): boolean; + tabindex( _arg_1: number ): number; + selectionpos_x( _arg_1: number ): number; + selectionpos_y( _arg_1: number ): number; + type(): string; + id(): string; + layoutfile(); + contentwidth(): number; + contentheight(): number; + desiredlayoutwidth(): number; + desiredlayoutheight(): number; + actuallayoutwidth(): number; + actuallayoutheight(): number; + actualxoffset(): number; + actualyoffset(): number; + scrolloffset_y(): number; + scrolloffset_x(): number; + actualuiscale_y(): number; + actualuiscale_x(): number; + style(); + AddClass( _arg_1: string ): void; + RemoveClass( _arg_1: string ): void; + BHasClass( _arg_1: string ): boolean; + BAscendantHasClass( _arg_1: string ): boolean; + SetHasClass( _arg_1: string, _arg_2: boolean ): void; + ToggleClass( _arg_1: string ): void; + SwitchClass( _arg_1: string, _arg_2: string ): void; + TriggerClass( _arg_1: string ): void; + ClearPanelEvent( _arg_1: string ): void; + SetDraggable( _arg_1: boolean ): void; + IsDraggable(): boolean; + IsSizeValid(): boolean; + GetChildCount(): number; + GetChild( _arg_1: number ); + GetChildIndex( _arg_1 ): number; + Children(); + FindChildrenWithClassTraverse( _arg_1: string ); + GetParent(); + SetParent( _arg_1 ): void; + FindChild( _arg_1: string ); + FindChildTraverse( _arg_1: string ); + FindChildInLayoutFile( _arg_1: string ); + FindPanelInThisOrParentLayoutFile( _arg_1: string ); + FindAncestor( _arg_1: string ); + RemoveAndDeleteChildren(): void; + MoveChildBefore( _arg_1, _arg_2 ): void; + MoveChildAfter( _arg_1, _arg_2 ): void; + GetPositionWithinWindow(); + GetPositionWithinAncestor( _arg_1 ); + GetPosition( _arg_1: boolean ); + ApplyStyles( _arg_1: boolean ): void; + ClearPropertyFromCode( _arg_1 ): void; + DeleteAsync( _arg_1: number ): void; + BIsTransparent(): boolean; + BAcceptsInput(): boolean; + BAcceptsFocus(): boolean; + SetFocus(): boolean; + UpdateFocusInContext(): boolean; + BHasHoverStyle(): boolean; + SetAcceptsInput( _arg_1: boolean ): void; + SetAcceptsFocus( _arg_1: boolean ): void; + SetDisableFocusOnMouseDown( _arg_1: boolean ): void; + BHasKeyFocus(): boolean; + SetScrollParentToFitWhenFocused( _arg_1: boolean ): void; + BScrollParentToFitWhenFocused(): boolean; + IsSelected(): boolean; + BHasDescendantKeyFocus(): boolean; + BLoadLayout( _arg_1: string, _arg_2: boolean, _arg_3: boolean ): boolean; + BLoadLayoutSnippet( _arg_1: string ): boolean; + BHasLayoutSnippet( _arg_1: string ): boolean; + BGetSnippetNames( _arg_1 ): void; + SetTopOfInputContext( _arg_1: boolean ): void; + SetDialogVariable( _arg_1: string, _arg_2: string ): void; + SetDialogVariableInt( _arg_1: string, _arg_2: number ): void; + SetDialogVariableTime( _arg_1: string, _arg_2: number ): void; + SetDialogVariableLocString( _arg_1: string, _arg_2: string ): void; + SetDialogVariableLocStringNested( _arg_1: string, _arg_2: string ): void; + SetDialogVariablePluralLocStringInt( _arg_1: string, _arg_2: string, _arg_3: number ): void; + ScrollToTop(): void; + ScrollToBottom(): void; + ScrollToLeftEdge(): void; + ScrollToRightEdge(): void; + ScrollParentToMakePanelFit( _arg_1, _arg_2: boolean ): void; + ScrollToFitRegion( _arg_1: number, _arg_2: number, _arg_3: number, _arg_4: number, _arg_5, _arg_6: boolean, _arg_7: boolean ): void; + BCanSeeInParentScroll(): boolean; + GetAttributeInt( _arg_1: string, _arg_2: number ): number; + GetAttributeString( _arg_1: string, _arg_2: string ): string; + GetAttributeUInt32( _arg_1: string, _arg_2: number ): number; + SetAttributeInt( _arg_1: string, _arg_2: number ): void; + SetAttributeString( _arg_1: string, _arg_2: string ): void; + SetAttributeUInt32( _arg_1: string, _arg_2: number ): void; + SetInputNamespace( _arg_1: string ): void; + RegisterForReadyEvents( _arg_1: boolean ): void; + BReadyForDisplay(): boolean; + SetReadyForDisplay( _arg_1: boolean ): void; + SetPositionInPixels( _arg_1: number, _arg_2: number, _arg_3: number ): void; + Data( _arg_1 ): void; +// debug.description( _arg_1 ): void; + SetSendScrollPositionChangedEvents( _arg_1: boolean ): void; + SetPanelEvent( _arg_1 ): void; + RunScriptInPanelContext( _arg_1 ): void; + rememberchildfocus( _arg_1: boolean ): boolean; + paneltype(): string; +} +// No matches for 'DOTAHudPreGame' found +declare enum SteamUGCQuery +{ + RankedByVote = 0, + RankedByPublicationDate = 1, + AcceptedForGameRankedByAcceptanceDate = 2, + RankedByTrend = 3, + FavoritedByFriendsRankedByPublicationDate = 4, + CreatedByFriendsRankedByPublicationDate = 5, + RankedByNumTimesReported = 6, + CreatedByFollowedUsersRankedByPublicationDate = 7, + NotYetRated = 8, + RankedByTotalVotesAsc = 9, + RankedByVotesUp = 10, + RankedByTextSearch = 11, + RankedByTotalUniqueSubscriptions = 12, + RankedByPlaytimeTrend = 13, + RankedByTotalPlaytime = 14, + RankedByAveragePlaytimeTrend = 15, + RankedByLifetimeAveragePlaytime = 16, + RankedByPlaytimeSessionsTrend = 17, + RankedByLifetimePlaytimeSessions = 18, +} + +declare enum SteamUGCMatchingUGCType +{ + Items = 0, + Items_Mtx = 1, + Items_ReadyToUse = 2, + Collections = 3, + Artwork = 4, + Videos = 5, + Screenshots = 6, + AllGuides = 7, + WebGuides = 8, + IntegratedGuides = 9, + UsableInGame = 10, + ControllerBindings = 11, + GameManagedItems = 12, + All = -1, +} + +declare enum SteamUniverse +{ + Invalid = 0, + Internal = 3, + Dev = 4, + Beta = 2, + Public = 1, +} + +declare enum DOTA_GameState +{ + DOTA_GAMERULES_STATE_INIT = 0, + DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD = 1, + DOTA_GAMERULES_STATE_HERO_SELECTION = 4, + DOTA_GAMERULES_STATE_STRATEGY_TIME = 5, + DOTA_GAMERULES_STATE_PRE_GAME = 8, + DOTA_GAMERULES_STATE_GAME_IN_PROGRESS = 10, + DOTA_GAMERULES_STATE_POST_GAME = 11, + DOTA_GAMERULES_STATE_DISCONNECT = 12, + DOTA_GAMERULES_STATE_TEAM_SHOWCASE = 6, + DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP = 2, + DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD = 7, + DOTA_GAMERULES_STATE_SCENARIO_SETUP = 9, + DOTA_GAMERULES_STATE_PLAYER_DRAFT = 3, + DOTA_GAMERULES_STATE_LAST = 0, +} + +declare enum DOTA_GC_TEAM +{ + DOTA_GC_TEAM_GOOD_GUYS = 0, + DOTA_GC_TEAM_BAD_GUYS = 1, + DOTA_GC_TEAM_BROADCASTER = 2, + DOTA_GC_TEAM_SPECTATOR = 3, + DOTA_GC_TEAM_PLAYER_POOL = 4, + DOTA_GC_TEAM_NOTEAM = 5, + DOTA_GC_TEAM_CUSTOM_1 = 6, + DOTA_GC_TEAM_CUSTOM_2 = 7, + DOTA_GC_TEAM_CUSTOM_3 = 8, + DOTA_GC_TEAM_CUSTOM_4 = 9, + DOTA_GC_TEAM_CUSTOM_5 = 10, + DOTA_GC_TEAM_CUSTOM_6 = 11, + DOTA_GC_TEAM_CUSTOM_7 = 12, + DOTA_GC_TEAM_CUSTOM_8 = 13, + DOTA_GC_TEAM_NEUTRALS = 14, +} + +declare enum DOTA_GameMode +{ + DOTA_GAMEMODE_NONE = 0, + DOTA_GAMEMODE_AP = 1, + DOTA_GAMEMODE_CM = 2, + DOTA_GAMEMODE_RD = 3, + DOTA_GAMEMODE_SD = 4, + DOTA_GAMEMODE_AR = 5, + DOTA_GAMEMODE_INTRO = 6, + DOTA_GAMEMODE_HW = 7, + DOTA_GAMEMODE_REVERSE_CM = 8, + DOTA_GAMEMODE_XMAS = 9, + DOTA_GAMEMODE_TUTORIAL = 10, + DOTA_GAMEMODE_MO = 11, + DOTA_GAMEMODE_LP = 12, + DOTA_GAMEMODE_POOL1 = 13, + DOTA_GAMEMODE_FH = 14, + DOTA_GAMEMODE_CUSTOM = 15, + DOTA_GAMEMODE_CD = 16, + DOTA_GAMEMODE_BD = 17, + DOTA_GAMEMODE_ABILITY_DRAFT = 18, + DOTA_GAMEMODE_EVENT = 19, + DOTA_GAMEMODE_ARDM = 20, + DOTA_GAMEMODE_1V1MID = 21, + DOTA_GAMEMODE_ALL_DRAFT = 22, + DOTA_GAMEMODE_TURBO = 23, + DOTA_GAMEMODE_MUTATION = 24, + DOTA_GAMEMODE_COACHES_CHALLENGE = 25, +} + +declare enum DOTAConnectionState_t +{ + DOTA_CONNECTION_STATE_UNKNOWN = 0, + DOTA_CONNECTION_STATE_NOT_YET_CONNECTED = 1, + DOTA_CONNECTION_STATE_CONNECTED = 2, + DOTA_CONNECTION_STATE_DISCONNECTED = 3, + DOTA_CONNECTION_STATE_ABANDONED = 4, + DOTA_CONNECTION_STATE_LOADING = 5, + DOTA_CONNECTION_STATE_FAILED = 6, +} + +declare enum dotaunitorder_t +{ + DOTA_UNIT_ORDER_NONE = 0, + DOTA_UNIT_ORDER_MOVE_TO_POSITION = 1, + DOTA_UNIT_ORDER_MOVE_TO_TARGET = 2, + DOTA_UNIT_ORDER_ATTACK_MOVE = 3, + DOTA_UNIT_ORDER_ATTACK_TARGET = 4, + DOTA_UNIT_ORDER_CAST_POSITION = 5, + DOTA_UNIT_ORDER_CAST_TARGET = 6, + DOTA_UNIT_ORDER_CAST_TARGET_TREE = 7, + DOTA_UNIT_ORDER_CAST_NO_TARGET = 8, + DOTA_UNIT_ORDER_CAST_TOGGLE = 9, + DOTA_UNIT_ORDER_HOLD_POSITION = 10, + DOTA_UNIT_ORDER_TRAIN_ABILITY = 11, + DOTA_UNIT_ORDER_DROP_ITEM = 12, + DOTA_UNIT_ORDER_GIVE_ITEM = 13, + DOTA_UNIT_ORDER_PICKUP_ITEM = 14, + DOTA_UNIT_ORDER_PICKUP_RUNE = 15, + DOTA_UNIT_ORDER_PURCHASE_ITEM = 16, + DOTA_UNIT_ORDER_SELL_ITEM = 17, + DOTA_UNIT_ORDER_DISASSEMBLE_ITEM = 18, + DOTA_UNIT_ORDER_MOVE_ITEM = 19, + DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO = 20, + DOTA_UNIT_ORDER_STOP = 21, + DOTA_UNIT_ORDER_TAUNT = 22, + DOTA_UNIT_ORDER_BUYBACK = 23, + DOTA_UNIT_ORDER_GLYPH = 24, + DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH = 25, + DOTA_UNIT_ORDER_CAST_RUNE = 26, + DOTA_UNIT_ORDER_PING_ABILITY = 27, + DOTA_UNIT_ORDER_MOVE_TO_DIRECTION = 28, + DOTA_UNIT_ORDER_PATROL = 29, + DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION = 30, + DOTA_UNIT_ORDER_RADAR = 31, + DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK = 32, + DOTA_UNIT_ORDER_CONTINUE = 33, + DOTA_UNIT_ORDER_VECTOR_TARGET_CANCELED = 34, + DOTA_UNIT_ORDER_CAST_RIVER_PAINT = 35, + DOTA_UNIT_ORDER_PREGAME_ADJUST_ITEM_ASSIGNMENT = 36, + DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN = 37, + DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH = 38, + DOTA_UNIT_ORDER_MOVE_RELATIVE = 39, + DOTA_UNIT_ORDER_CAST_TOGGLE_ALT = 40, + DOTA_UNIT_ORDER_CONSUME_ITEM = 41, + DOTA_UNIT_ORDER_SET_ITEM_MARK_FOR_SELL = 42, +} + +declare enum DOTA_OVERHEAD_ALERT +{ + OVERHEAD_ALERT_GOLD = 0, + OVERHEAD_ALERT_DENY = 1, + OVERHEAD_ALERT_CRITICAL = 2, + OVERHEAD_ALERT_XP = 3, + OVERHEAD_ALERT_BONUS_SPELL_DAMAGE = 4, + OVERHEAD_ALERT_MISS = 5, + OVERHEAD_ALERT_DAMAGE = 6, + OVERHEAD_ALERT_EVADE = 7, + OVERHEAD_ALERT_BLOCK = 8, + OVERHEAD_ALERT_BONUS_POISON_DAMAGE = 9, + OVERHEAD_ALERT_HEAL = 10, + OVERHEAD_ALERT_MANA_ADD = 11, + OVERHEAD_ALERT_MANA_LOSS = 12, + OVERHEAD_ALERT_LAST_HIT_EARLY = 13, + OVERHEAD_ALERT_LAST_HIT_CLOSE = 14, + OVERHEAD_ALERT_LAST_HIT_MISS = 15, + OVERHEAD_ALERT_MAGICAL_BLOCK = 16, + OVERHEAD_ALERT_INCOMING_DAMAGE = 17, + OVERHEAD_ALERT_OUTGOING_DAMAGE = 18, + OVERHEAD_ALERT_DISABLE_RESIST = 19, + OVERHEAD_ALERT_DEATH = 20, + OVERHEAD_ALERT_BLOCKED = 21, + OVERHEAD_ALERT_ITEM_RECEIVED = 22, + OVERHEAD_ALERT_SHARD = 23, + OVERHEAD_ALERT_DEADLY_BLOW = 24, + OVERHEAD_ALERT_FORCE_MISS = 25, +} + +declare enum DOTA_HeroPickState +{ + DOTA_HEROPICK_STATE_NONE = 0, + DOTA_HEROPICK_STATE_AP_SELECT = 1, + DOTA_HEROPICK_STATE_SD_SELECT = 2, + DOTA_HEROPICK_STATE_INTRO_SELECT_UNUSED = 3, + DOTA_HEROPICK_STATE_RD_SELECT_UNUSED = 4, + DOTA_HEROPICK_STATE_CM_INTRO = 5, + DOTA_HEROPICK_STATE_CM_CAPTAINPICK = 6, + DOTA_HEROPICK_STATE_CM_BAN1 = 7, + DOTA_HEROPICK_STATE_CM_BAN2 = 8, + DOTA_HEROPICK_STATE_CM_BAN3 = 9, + DOTA_HEROPICK_STATE_CM_BAN4 = 10, + DOTA_HEROPICK_STATE_CM_BAN5 = 11, + DOTA_HEROPICK_STATE_CM_BAN6 = 12, + DOTA_HEROPICK_STATE_CM_BAN7 = 13, + DOTA_HEROPICK_STATE_CM_BAN8 = 14, + DOTA_HEROPICK_STATE_CM_BAN9 = 15, + DOTA_HEROPICK_STATE_CM_BAN10 = 16, + DOTA_HEROPICK_STATE_CM_BAN11 = 17, + DOTA_HEROPICK_STATE_CM_BAN12 = 18, + DOTA_HEROPICK_STATE_CM_BAN13 = 19, + DOTA_HEROPICK_STATE_CM_BAN14 = 20, + DOTA_HEROPICK_STATE_CM_SELECT1 = 21, + DOTA_HEROPICK_STATE_CM_SELECT2 = 22, + DOTA_HEROPICK_STATE_CM_SELECT3 = 23, + DOTA_HEROPICK_STATE_CM_SELECT4 = 24, + DOTA_HEROPICK_STATE_CM_SELECT5 = 25, + DOTA_HEROPICK_STATE_CM_SELECT6 = 26, + DOTA_HEROPICK_STATE_CM_SELECT7 = 27, + DOTA_HEROPICK_STATE_CM_SELECT8 = 28, + DOTA_HEROPICK_STATE_CM_SELECT9 = 29, + DOTA_HEROPICK_STATE_CM_SELECT10 = 30, + DOTA_HEROPICK_STATE_CM_PICK = 31, + DOTA_HEROPICK_STATE_AR_SELECT = 32, + DOTA_HEROPICK_STATE_MO_SELECT = 33, + DOTA_HEROPICK_STATE_FH_SELECT = 34, + DOTA_HEROPICK_STATE_CD_INTRO = 35, + DOTA_HEROPICK_STATE_CD_CAPTAINPICK = 36, + DOTA_HEROPICK_STATE_CD_BAN1 = 37, + DOTA_HEROPICK_STATE_CD_BAN2 = 38, + DOTA_HEROPICK_STATE_CD_BAN3 = 39, + DOTA_HEROPICK_STATE_CD_BAN4 = 40, + DOTA_HEROPICK_STATE_CD_BAN5 = 41, + DOTA_HEROPICK_STATE_CD_BAN6 = 42, + DOTA_HEROPICK_STATE_CD_SELECT1 = 43, + DOTA_HEROPICK_STATE_CD_SELECT2 = 44, + DOTA_HEROPICK_STATE_CD_SELECT3 = 45, + DOTA_HEROPICK_STATE_CD_SELECT4 = 46, + DOTA_HEROPICK_STATE_CD_SELECT5 = 47, + DOTA_HEROPICK_STATE_CD_SELECT6 = 48, + DOTA_HEROPICK_STATE_CD_SELECT7 = 49, + DOTA_HEROPICK_STATE_CD_SELECT8 = 50, + DOTA_HEROPICK_STATE_CD_SELECT9 = 51, + DOTA_HEROPICK_STATE_CD_SELECT10 = 52, + DOTA_HEROPICK_STATE_CD_PICK = 53, + DOTA_HEROPICK_STATE_BD_SELECT = 54, + DOTA_HERO_PICK_STATE_ABILITY_DRAFT_SELECT = 55, + DOTA_HERO_PICK_STATE_ARDM_SELECT = 56, + DOTA_HEROPICK_STATE_ALL_DRAFT_SELECT = 57, + DOTA_HERO_PICK_STATE_CUSTOMGAME_SELECT = 58, + DOTA_HEROPICK_STATE_SELECT_PENALTY = 59, + DOTA_HEROPICK_STATE_CUSTOM_PICK_RULES = 60, + DOTA_HEROPICK_STATE_SCENARIO_PICK = 61, + DOTA_HEROPICK_STATE_COUNT = 62, +} + +declare enum DOTATeam_t +{ + DOTA_TEAM_FIRST = 2, + DOTA_TEAM_GOODGUYS = 2, + DOTA_TEAM_BADGUYS = 3, + DOTA_TEAM_NEUTRALS = 4, + DOTA_TEAM_NOTEAM = 5, + DOTA_TEAM_CUSTOM_1 = 6, + DOTA_TEAM_CUSTOM_2 = 7, + DOTA_TEAM_CUSTOM_3 = 8, + DOTA_TEAM_CUSTOM_4 = 9, + DOTA_TEAM_CUSTOM_5 = 10, + DOTA_TEAM_CUSTOM_6 = 11, + DOTA_TEAM_CUSTOM_7 = 12, + DOTA_TEAM_CUSTOM_8 = 13, + DOTA_TEAM_DRAFT_POOL = 14, + DOTA_TEAM_COUNT = 15, + DOTA_TEAM_CUSTOM_MIN = 6, + DOTA_TEAM_CUSTOM_MAX = 13, + DOTA_TEAM_CUSTOM_COUNT = 8, +} + +declare enum DOTA_RUNES +{ + DOTA_RUNE_INVALID = -1, + DOTA_RUNE_DOUBLEDAMAGE = 0, + DOTA_RUNE_HASTE = 1, + DOTA_RUNE_ILLUSION = 2, + DOTA_RUNE_INVISIBILITY = 3, + DOTA_RUNE_REGENERATION = 4, + DOTA_RUNE_BOUNTY = 5, + DOTA_RUNE_ARCANE = 6, + DOTA_RUNE_WATER = 7, + DOTA_RUNE_XP = 8, + DOTA_RUNE_SHIELD = 9, + DOTA_RUNE_COUNT = 10, +} + +declare enum DOTA_UNIT_TARGET_TEAM +{ + DOTA_UNIT_TARGET_TEAM_NONE = 0, + DOTA_UNIT_TARGET_TEAM_FRIENDLY = 1, + DOTA_UNIT_TARGET_TEAM_ENEMY = 2, + DOTA_UNIT_TARGET_TEAM_CUSTOM = 4, + DOTA_UNIT_TARGET_TEAM_BOTH = 3, +} + +declare enum DOTA_UNIT_TARGET_TYPE +{ + DOTA_UNIT_TARGET_NONE = 0, + DOTA_UNIT_TARGET_HERO = 1, + DOTA_UNIT_TARGET_CREEP = 2, + DOTA_UNIT_TARGET_BUILDING = 4, + DOTA_UNIT_TARGET_COURIER = 16, + DOTA_UNIT_TARGET_OTHER = 32, + DOTA_UNIT_TARGET_TREE = 64, + DOTA_UNIT_TARGET_CUSTOM = 128, + DOTA_UNIT_TARGET_SELF = 256, + DOTA_UNIT_TARGET_BASIC = 18, + DOTA_UNIT_TARGET_ALL = 55, + DOTA_UNIT_TARGET_HEROES_AND_CREEPS = 19, +} + +declare enum DOTA_UNIT_TARGET_FLAGS +{ + DOTA_UNIT_TARGET_FLAG_NONE = 0, + DOTA_UNIT_TARGET_FLAG_RANGED_ONLY = 2, + DOTA_UNIT_TARGET_FLAG_MELEE_ONLY = 4, + DOTA_UNIT_TARGET_FLAG_DEAD = 8, + DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES = 16, + DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES = 32, + DOTA_UNIT_TARGET_FLAG_INVULNERABLE = 64, + DOTA_UNIT_TARGET_FLAG_FOW_VISIBLE = 128, + DOTA_UNIT_TARGET_FLAG_NO_INVIS = 256, + DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS = 512, + DOTA_UNIT_TARGET_FLAG_PLAYER_CONTROLLED = 1024, + DOTA_UNIT_TARGET_FLAG_NOT_DOMINATED = 2048, + DOTA_UNIT_TARGET_FLAG_NOT_SUMMONED = 4096, + DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS = 8192, + DOTA_UNIT_TARGET_FLAG_NOT_ATTACK_IMMUNE = 16384, + DOTA_UNIT_TARGET_FLAG_MANA_ONLY = 32768, + DOTA_UNIT_TARGET_FLAG_CHECK_DISABLE_HELP = 65536, + DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO = 131072, + DOTA_UNIT_TARGET_FLAG_OUT_OF_WORLD = 262144, + DOTA_UNIT_TARGET_FLAG_NOT_NIGHTMARED = 524288, + DOTA_UNIT_TARGET_FLAG_PREFER_ENEMIES = 1048576, + DOTA_UNIT_TARGET_FLAG_RESPECT_OBSTRUCTIONS = 2097152, + DOTA_UNIT_TARGET_FLAG_CAN_BE_SEEN = 384, +} + +declare enum DOTALimits_t +{ + /** Max number of players connected to the server including spectators. */ + DOTA_MAX_PLAYERS = 64, + /** Max number of players per team. */ + DOTA_MAX_TEAM = 24, + /** Max number of player teams supported. */ + DOTA_MAX_PLAYER_TEAMS = 10, + /** Max number of non-spectator players supported. */ + DOTA_MAX_TEAM_PLAYERS = 24, + /** How many spectators can watch. */ + DOTA_MAX_SPECTATOR_TEAM_SIZE = 40, + /** Max number of viewers in a spectator lobby. */ + DOTA_MAX_SPECTATOR_LOBBY_SIZE = 15, + /** Default number of players per team. */ + DOTA_DEFAULT_MAX_TEAM = 5, + /** Default number of non-spectator players supported. */ + DOTA_DEFAULT_MAX_TEAM_PLAYERS = 10, +} + +declare enum DOTAInventoryFlags_t +{ + DOTA_INVENTORY_ALLOW_NONE = 0, + DOTA_INVENTORY_ALLOW_MAIN = 1, + DOTA_INVENTORY_ALLOW_STASH = 2, + DOTA_INVENTORY_ALLOW_DROP_ON_GROUND = 4, + DOTA_INVENTORY_ALLOW_DROP_AT_FOUNTAIN = 8, + DOTA_INVENTORY_LIMIT_DROP_ON_GROUND = 16, + DOTA_INVENTORY_ALL_ACCESS = 3, +} + +declare enum EDOTA_ModifyGold_Reason +{ + DOTA_ModifyGold_Unspecified = 0, + DOTA_ModifyGold_Death = 1, + DOTA_ModifyGold_Buyback = 2, + DOTA_ModifyGold_PurchaseConsumable = 3, + DOTA_ModifyGold_PurchaseItem = 4, + DOTA_ModifyGold_AbandonedRedistribute = 5, + DOTA_ModifyGold_SellItem = 6, + DOTA_ModifyGold_AbilityCost = 7, + DOTA_ModifyGold_CheatCommand = 8, + DOTA_ModifyGold_SelectionPenalty = 9, + DOTA_ModifyGold_GameTick = 10, + DOTA_ModifyGold_Building = 11, + DOTA_ModifyGold_HeroKill = 12, + DOTA_ModifyGold_CreepKill = 13, + DOTA_ModifyGold_NeutralKill = 14, + DOTA_ModifyGold_RoshanKill = 15, + DOTA_ModifyGold_CourierKill = 16, + DOTA_ModifyGold_BountyRune = 17, + DOTA_ModifyGold_SharedGold = 18, + DOTA_ModifyGold_AbilityGold = 19, + DOTA_ModifyGold_WardKill = 20, + DOTA_ModifyGold_CourierKilledByThisPlayer = 21, +} + +declare enum DOTAUnitAttackCapability_t +{ + DOTA_UNIT_CAP_NO_ATTACK = 0, + DOTA_UNIT_CAP_MELEE_ATTACK = 1, + DOTA_UNIT_CAP_RANGED_ATTACK = 2, + DOTA_UNIT_CAP_RANGED_ATTACK_DIRECTIONAL = 4, + DOTA_UNIT_ATTACK_CAPABILITY_BIT_COUNT = 3, +} + +declare enum DOTAUnitMoveCapability_t +{ + DOTA_UNIT_CAP_MOVE_NONE = 0, + DOTA_UNIT_CAP_MOVE_GROUND = 1, + DOTA_UNIT_CAP_MOVE_FLY = 2, +} + +declare enum EShareAbility +{ + ITEM_FULLY_SHAREABLE = 0, + ITEM_PARTIALLY_SHAREABLE = 1, + ITEM_NOT_SHAREABLE = 2, +} + +declare enum DOTAMusicStatus_t +{ + DOTA_MUSIC_STATUS_NONE = 0, + DOTA_MUSIC_STATUS_EXPLORATION = 1, + DOTA_MUSIC_STATUS_BATTLE = 2, + DOTA_MUSIC_STATUS_PRE_GAME_EXPLORATION = 3, + DOTA_MUSIC_STATUS_DEAD = 4, + DOTA_MUSIC_STATUS_LAST = 5, +} + +declare enum DOTA_ABILITY_BEHAVIOR +{ + DOTA_ABILITY_BEHAVIOR_NONE = 0, + DOTA_ABILITY_BEHAVIOR_HIDDEN = 1, + DOTA_ABILITY_BEHAVIOR_PASSIVE = 2, + DOTA_ABILITY_BEHAVIOR_NO_TARGET = 4, + DOTA_ABILITY_BEHAVIOR_UNIT_TARGET = 8, + DOTA_ABILITY_BEHAVIOR_POINT = 16, + DOTA_ABILITY_BEHAVIOR_AOE = 32, + DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE = 64, + DOTA_ABILITY_BEHAVIOR_CHANNELLED = 128, + DOTA_ABILITY_BEHAVIOR_ITEM = 256, + DOTA_ABILITY_BEHAVIOR_TOGGLE = 512, + DOTA_ABILITY_BEHAVIOR_DIRECTIONAL = 1024, + DOTA_ABILITY_BEHAVIOR_IMMEDIATE = 2048, + DOTA_ABILITY_BEHAVIOR_AUTOCAST = 4096, + DOTA_ABILITY_BEHAVIOR_OPTIONAL_UNIT_TARGET = 8192, + DOTA_ABILITY_BEHAVIOR_OPTIONAL_POINT = 16384, + DOTA_ABILITY_BEHAVIOR_OPTIONAL_NO_TARGET = 32768, + DOTA_ABILITY_BEHAVIOR_AURA = 65536, + DOTA_ABILITY_BEHAVIOR_ATTACK = 131072, + DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT = 262144, + DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES = 524288, + DOTA_ABILITY_BEHAVIOR_UNRESTRICTED = 1048576, + DOTA_ABILITY_BEHAVIOR_IGNORE_PSEUDO_QUEUE = 2097152, + DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL = 4194304, + DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_MOVEMENT = 8388608, + DOTA_ABILITY_BEHAVIOR_DONT_ALERT_TARGET = 16777216, + DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK = 33554432, + DOTA_ABILITY_BEHAVIOR_NORMAL_WHEN_STOLEN = 67108864, + DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING = 134217728, + DOTA_ABILITY_BEHAVIOR_RUNE_TARGET = 268435456, + DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_CHANNEL = 536870912, + DOTA_ABILITY_BEHAVIOR_VECTOR_TARGETING = 1073741824, + DOTA_ABILITY_BEHAVIOR_LAST_RESORT_POINT = 2147483648, + DOTA_ABILITY_BEHAVIOR_CAN_SELF_CAST = 4294967296, + DOTA_ABILITY_BEHAVIOR_SHOW_IN_GUIDES = 8589934592, + DOTA_ABILITY_BEHAVIOR_UNLOCKED_BY_EFFECT_INDEX = 17179869184, + DOTA_ABILITY_BEHAVIOR_SUPPRESS_ASSOCIATED_CONSUMABLE = 34359738368, + DOTA_ABILITY_BEHAVIOR_FREE_DRAW_TARGETING = 68719476736, + DOTA_ABILITY_BEHAVIOR_IGNORE_SILENCE = 137438953472, + DOTA_ABILITY_BEHAVIOR_OVERSHOOT = 274877906944, + DOTA_ABILITY_BEHAVIOR_IGNORE_MUTED = 549755813888, + DOTA_ABILITY_BEHAVIOR_ALT_CASTABLE = 1099511627776, + DOTA_ABILITY_BEHAVIOR_SKIP_FOR_KEYBINDS = 4398046511104, + DOTA_ABILITY_BEHAVIOR_INNATE_UI = 8796093022208, + DOTA_ABILITY_BEHAVIOR_UNSWAPPABLE = 17592186044416, + DOTA_ABILITY_BEHAVIOR_DONT_PROC_OTHER_ABILITIES = 35184372088832, + DOTA_ABILITY_BEHAVIOR_IGNORE_INVISIBLE = 70368744177664, + DOTA_ABILITY_BEHAVIOR_AFFECTED_BY_MUTE = 140737488355328, + DOTA_ABILITY_BEHAVIOR_IS_FAKE_ITEM = 281474976710656, +} + +declare enum DAMAGE_TYPES +{ + DAMAGE_TYPE_NONE = 0, + DAMAGE_TYPE_PHYSICAL = 1, + DAMAGE_TYPE_MAGICAL = 2, + DAMAGE_TYPE_PURE = 4, + DAMAGE_TYPE_HP_REMOVAL = 8, + DAMAGE_TYPE_ABILITY_DEFINED = 22, + DAMAGE_TYPE_ALL = 7, +} + +declare enum ABILITY_TYPES +{ + ABILITY_TYPE_BASIC = 0, + ABILITY_TYPE_ULTIMATE = 1, + ABILITY_TYPE_ATTRIBUTES = 2, + ABILITY_TYPE_HIDDEN = 3, +} + +declare enum SPELL_IMMUNITY_TYPES +{ + SPELL_IMMUNITY_NONE = 0, + SPELL_IMMUNITY_ALLIES_YES = 1, + SPELL_IMMUNITY_ALLIES_NO = 2, + SPELL_IMMUNITY_ENEMIES_YES = 3, + SPELL_IMMUNITY_ENEMIES_NO = 4, + SPELL_IMMUNITY_ALLIES_YES_ENEMIES_NO = 5, +} + +declare enum DOTADamageFlag_t +{ + DOTA_DAMAGE_FLAG_NONE = 0, + DOTA_DAMAGE_FLAG_IGNORES_MAGIC_ARMOR = 1, + DOTA_DAMAGE_FLAG_IGNORES_PHYSICAL_ARMOR = 2, + DOTA_DAMAGE_FLAG_BYPASSES_INVULNERABILITY = 4, + DOTA_DAMAGE_FLAG_BYPASSES_PHYSICAL_BLOCK = 8, + DOTA_DAMAGE_FLAG_REFLECTION = 16, + DOTA_DAMAGE_FLAG_HPLOSS = 32, + DOTA_DAMAGE_FLAG_NO_DIRECTOR_EVENT = 64, + DOTA_DAMAGE_FLAG_NON_LETHAL = 128, + DOTA_DAMAGE_FLAG_NO_DAMAGE_MULTIPLIERS = 512, + DOTA_DAMAGE_FLAG_NO_SPELL_AMPLIFICATION = 1024, + DOTA_DAMAGE_FLAG_DONT_DISPLAY_DAMAGE_IF_SOURCE_HIDDEN = 2048, + DOTA_DAMAGE_FLAG_NO_SPELL_LIFESTEAL = 4096, + DOTA_DAMAGE_FLAG_PROPERTY_FIRE = 8192, + DOTA_DAMAGE_FLAG_IGNORES_BASE_PHYSICAL_ARMOR = 16384, + DOTA_DAMAGE_FLAG_SECONDARY_PROJECTILE_ATTACK = 32768, + DOTA_DAMAGE_FLAG_FORCE_SPELL_AMPLIFICATION = 65536, + DOTA_DAMAGE_FLAG_MAGIC_AUTO_ATTACK = 131072, + DOTA_DAMAGE_FLAG_ATTACK_MODIFIER = 262144, + DOTA_DAMAGE_FLAG_BYPASSES_ALL_BLOCK = 524288, +} + +declare enum EDOTA_ModifyXP_Reason +{ + DOTA_ModifyXP_Unspecified = 0, + DOTA_ModifyXP_HeroKill = 1, + DOTA_ModifyXP_CreepKill = 2, + DOTA_ModifyXP_RoshanKill = 3, + DOTA_ModifyXP_TomeOfKnowledge = 4, + DOTA_ModifyXP_Outpost = 5, + DOTA_ModifyXP_CatchUp = 6, + DOTA_ModifyXP_HeroAbility = 7, + DOTA_ModifyXP_MAX = 8, +} + +declare enum GameActivity_t +{ + ACT_DOTA_IDLE = 1500, + ACT_DOTA_IDLE_RARE = 1501, + ACT_DOTA_RUN = 1502, + ACT_DOTA_ATTACK = 1503, + ACT_DOTA_ATTACK2 = 1504, + ACT_DOTA_ATTACK_EVENT = 1505, + ACT_DOTA_DIE = 1506, + ACT_DOTA_FLINCH = 1507, + ACT_DOTA_FLAIL = 1508, + ACT_DOTA_DISABLED = 1509, + ACT_DOTA_CAST_ABILITY_1 = 1510, + ACT_DOTA_CAST_ABILITY_2 = 1511, + ACT_DOTA_CAST_ABILITY_3 = 1512, + ACT_DOTA_CAST_ABILITY_4 = 1513, + ACT_DOTA_CAST_ABILITY_5 = 1514, + ACT_DOTA_CAST_ABILITY_6 = 1515, + ACT_DOTA_OVERRIDE_ABILITY_1 = 1516, + ACT_DOTA_OVERRIDE_ABILITY_2 = 1517, + ACT_DOTA_OVERRIDE_ABILITY_3 = 1518, + ACT_DOTA_OVERRIDE_ABILITY_4 = 1519, + ACT_DOTA_CHANNEL_ABILITY_1 = 1520, + ACT_DOTA_CHANNEL_ABILITY_2 = 1521, + ACT_DOTA_CHANNEL_ABILITY_3 = 1522, + ACT_DOTA_CHANNEL_ABILITY_4 = 1523, + ACT_DOTA_CHANNEL_ABILITY_5 = 1524, + ACT_DOTA_CHANNEL_ABILITY_6 = 1525, + ACT_DOTA_CHANNEL_END_ABILITY_1 = 1526, + ACT_DOTA_CHANNEL_END_ABILITY_2 = 1527, + ACT_DOTA_CHANNEL_END_ABILITY_3 = 1528, + ACT_DOTA_CHANNEL_END_ABILITY_4 = 1529, + ACT_DOTA_CHANNEL_END_ABILITY_5 = 1530, + ACT_DOTA_CHANNEL_END_ABILITY_6 = 1531, + ACT_DOTA_CONSTANT_LAYER = 1532, + ACT_DOTA_CAPTURE = 1533, + ACT_DOTA_SPAWN = 1534, + ACT_DOTA_KILLTAUNT = 1535, + ACT_DOTA_TAUNT = 1536, + ACT_DOTA_THIRST = 1537, + ACT_DOTA_CAST_DRAGONBREATH = 1538, + ACT_DOTA_ECHO_SLAM = 1539, + ACT_DOTA_CAST_ABILITY_1_END = 1540, + ACT_DOTA_CAST_ABILITY_2_END = 1541, + ACT_DOTA_CAST_ABILITY_3_END = 1542, + ACT_DOTA_CAST_ABILITY_4_END = 1543, + ACT_MIRANA_LEAP_END = 1544, + ACT_WAVEFORM_START = 1545, + ACT_WAVEFORM_END = 1546, + ACT_DOTA_CAST_ABILITY_ROT = 1547, + ACT_DOTA_DIE_SPECIAL = 1548, + ACT_DOTA_RATTLETRAP_BATTERYASSAULT = 1549, + ACT_DOTA_RATTLETRAP_POWERCOGS = 1550, + ACT_DOTA_RATTLETRAP_HOOKSHOT_START = 1551, + ACT_DOTA_RATTLETRAP_HOOKSHOT_LOOP = 1552, + ACT_DOTA_RATTLETRAP_HOOKSHOT_END = 1553, + ACT_STORM_SPIRIT_OVERLOAD_RUN_OVERRIDE = 1554, + ACT_DOTA_TINKER_REARM1 = 1555, + ACT_DOTA_TINKER_REARM2 = 1556, + ACT_DOTA_TINKER_REARM3 = 1557, + ACT_TINY_AVALANCHE = 1558, + ACT_TINY_TOSS = 1559, + ACT_TINY_GROWL = 1560, + ACT_DOTA_WEAVERBUG_ATTACH = 1561, + ACT_DOTA_CAST_WILD_AXES_END = 1562, + ACT_DOTA_CAST_LIFE_BREAK_START = 1563, + ACT_DOTA_CAST_LIFE_BREAK_END = 1564, + ACT_DOTA_NIGHTSTALKER_TRANSITION = 1565, + ACT_DOTA_LIFESTEALER_RAGE = 1566, + ACT_DOTA_LIFESTEALER_OPEN_WOUNDS = 1567, + ACT_DOTA_SAND_KING_BURROW_IN = 1568, + ACT_DOTA_SAND_KING_BURROW_OUT = 1569, + ACT_DOTA_EARTHSHAKER_TOTEM_ATTACK = 1570, + ACT_DOTA_WHEEL_LAYER = 1571, + ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_START = 1572, + ACT_DOTA_ALCHEMIST_CONCOCTION = 1573, + ACT_DOTA_JAKIRO_LIQUIDFIRE_START = 1574, + ACT_DOTA_JAKIRO_LIQUIDFIRE_LOOP = 1575, + ACT_DOTA_LIFESTEALER_INFEST = 1576, + ACT_DOTA_LIFESTEALER_INFEST_END = 1577, + ACT_DOTA_LASSO_LOOP = 1578, + ACT_DOTA_ALCHEMIST_CONCOCTION_THROW = 1579, + ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_END = 1580, + ACT_DOTA_CAST_COLD_SNAP = 1581, + ACT_DOTA_CAST_GHOST_WALK = 1582, + ACT_DOTA_CAST_TORNADO = 1583, + ACT_DOTA_CAST_EMP = 1584, + ACT_DOTA_CAST_ALACRITY = 1585, + ACT_DOTA_CAST_CHAOS_METEOR = 1586, + ACT_DOTA_CAST_SUN_STRIKE = 1587, + ACT_DOTA_CAST_FORGE_SPIRIT = 1588, + ACT_DOTA_CAST_ICE_WALL = 1589, + ACT_DOTA_CAST_DEAFENING_BLAST = 1590, + ACT_DOTA_VICTORY = 1591, + ACT_DOTA_DEFEAT = 1592, + ACT_DOTA_SPIRIT_BREAKER_CHARGE_POSE = 1593, + ACT_DOTA_SPIRIT_BREAKER_CHARGE_END = 1594, + ACT_DOTA_TELEPORT = 1595, + ACT_DOTA_TELEPORT_END = 1596, + ACT_DOTA_CAST_REFRACTION = 1597, + ACT_DOTA_CAST_ABILITY_7 = 1598, + ACT_DOTA_CANCEL_SIREN_SONG = 1599, + ACT_DOTA_CHANNEL_ABILITY_7 = 1600, + ACT_DOTA_LOADOUT = 1601, + ACT_DOTA_FORCESTAFF_END = 1602, + ACT_DOTA_POOF_END = 1603, + ACT_DOTA_SLARK_POUNCE = 1604, + ACT_DOTA_MAGNUS_SKEWER_START = 1605, + ACT_DOTA_MAGNUS_SKEWER_END = 1606, + ACT_DOTA_MEDUSA_STONE_GAZE = 1607, + ACT_DOTA_RELAX_START = 1608, + ACT_DOTA_RELAX_LOOP = 1609, + ACT_DOTA_RELAX_END = 1610, + ACT_DOTA_CENTAUR_STAMPEDE = 1611, + ACT_DOTA_BELLYACHE_START = 1612, + ACT_DOTA_BELLYACHE_LOOP = 1613, + ACT_DOTA_BELLYACHE_END = 1614, + ACT_DOTA_ROQUELAIRE_LAND = 1615, + ACT_DOTA_ROQUELAIRE_LAND_IDLE = 1616, + ACT_DOTA_GREEVIL_CAST = 1617, + ACT_DOTA_GREEVIL_OVERRIDE_ABILITY = 1618, + ACT_DOTA_GREEVIL_HOOK_START = 1619, + ACT_DOTA_GREEVIL_HOOK_END = 1620, + ACT_DOTA_GREEVIL_BLINK_BONE = 1621, + ACT_DOTA_IDLE_SLEEPING = 1622, + ACT_DOTA_INTRO = 1623, + ACT_DOTA_GESTURE_POINT = 1624, + ACT_DOTA_GESTURE_ACCENT = 1625, + ACT_DOTA_SLEEPING_END = 1626, + ACT_DOTA_AMBUSH = 1627, + ACT_DOTA_ITEM_LOOK = 1628, + ACT_DOTA_STARTLE = 1629, + ACT_DOTA_FRUSTRATION = 1630, + ACT_DOTA_TELEPORT_REACT = 1631, + ACT_DOTA_TELEPORT_END_REACT = 1632, + ACT_DOTA_SHRUG = 1633, + ACT_DOTA_RELAX_LOOP_END = 1634, + ACT_DOTA_PRESENT_ITEM = 1635, + ACT_DOTA_IDLE_IMPATIENT = 1636, + ACT_DOTA_SHARPEN_WEAPON = 1637, + ACT_DOTA_SHARPEN_WEAPON_OUT = 1638, + ACT_DOTA_IDLE_SLEEPING_END = 1639, + ACT_DOTA_BRIDGE_DESTROY = 1640, + ACT_DOTA_TAUNT_SNIPER = 1641, + ACT_DOTA_DEATH_BY_SNIPER = 1642, + ACT_DOTA_LOOK_AROUND = 1643, + ACT_DOTA_CAGED_CREEP_RAGE = 1644, + ACT_DOTA_CAGED_CREEP_RAGE_OUT = 1645, + ACT_DOTA_CAGED_CREEP_SMASH = 1646, + ACT_DOTA_CAGED_CREEP_SMASH_OUT = 1647, + ACT_DOTA_IDLE_IMPATIENT_SWORD_TAP = 1648, + ACT_DOTA_INTRO_LOOP = 1649, + ACT_DOTA_BRIDGE_THREAT = 1650, + ACT_DOTA_DAGON = 1651, + ACT_DOTA_CAST_ABILITY_2_ES_ROLL_START = 1652, + ACT_DOTA_CAST_ABILITY_2_ES_ROLL = 1653, + ACT_DOTA_CAST_ABILITY_2_ES_ROLL_END = 1654, + ACT_DOTA_NIAN_PIN_START = 1655, + ACT_DOTA_NIAN_PIN_LOOP = 1656, + ACT_DOTA_NIAN_PIN_END = 1657, + ACT_DOTA_LEAP_STUN = 1658, + ACT_DOTA_LEAP_SWIPE = 1659, + ACT_DOTA_NIAN_INTRO_LEAP = 1660, + ACT_DOTA_AREA_DENY = 1661, + ACT_DOTA_NIAN_PIN_TO_STUN = 1662, + ACT_DOTA_RAZE_1 = 1663, + ACT_DOTA_RAZE_2 = 1664, + ACT_DOTA_RAZE_3 = 1665, + ACT_DOTA_UNDYING_DECAY = 1666, + ACT_DOTA_UNDYING_SOUL_RIP = 1667, + ACT_DOTA_UNDYING_TOMBSTONE = 1668, + ACT_DOTA_WHIRLING_AXES_RANGED = 1669, + ACT_DOTA_SHALLOW_GRAVE = 1670, + ACT_DOTA_COLD_FEET = 1671, + ACT_DOTA_ICE_VORTEX = 1672, + ACT_DOTA_CHILLING_TOUCH = 1673, + ACT_DOTA_ENFEEBLE = 1674, + ACT_DOTA_FATAL_BONDS = 1675, + ACT_DOTA_MIDNIGHT_PULSE = 1676, + ACT_DOTA_ANCESTRAL_SPIRIT = 1677, + ACT_DOTA_THUNDER_STRIKE = 1678, + ACT_DOTA_KINETIC_FIELD = 1679, + ACT_DOTA_STATIC_STORM = 1680, + ACT_DOTA_MINI_TAUNT = 1681, + ACT_DOTA_ARCTIC_BURN_END = 1682, + ACT_DOTA_LOADOUT_RARE = 1683, + ACT_DOTA_SWIM = 1684, + ACT_DOTA_FLEE = 1685, + ACT_DOTA_TROT = 1686, + ACT_DOTA_SHAKE = 1687, + ACT_DOTA_SWIM_IDLE = 1688, + ACT_DOTA_WAIT_IDLE = 1689, + ACT_DOTA_GREET = 1690, + ACT_DOTA_TELEPORT_COOP_START = 1691, + ACT_DOTA_TELEPORT_COOP_WAIT = 1692, + ACT_DOTA_TELEPORT_COOP_END = 1693, + ACT_DOTA_TELEPORT_COOP_EXIT = 1694, + ACT_DOTA_SHOPKEEPER_PET_INTERACT = 1695, + ACT_DOTA_ITEM_PICKUP = 1696, + ACT_DOTA_ITEM_DROP = 1697, + ACT_DOTA_CAPTURE_PET = 1698, + ACT_DOTA_PET_WARD_OBSERVER = 1699, + ACT_DOTA_PET_WARD_SENTRY = 1700, + ACT_DOTA_PET_LEVEL = 1701, + ACT_DOTA_CAST_BURROW_END = 1702, + ACT_DOTA_LIFESTEALER_ASSIMILATE = 1703, + ACT_DOTA_LIFESTEALER_EJECT = 1704, + ACT_DOTA_ATTACK_EVENT_BASH = 1705, + ACT_DOTA_CAPTURE_RARE = 1706, + ACT_DOTA_AW_MAGNETIC_FIELD = 1707, + ACT_DOTA_CAST_GHOST_SHIP = 1708, + ACT_DOTA_FXANIM = 1709, + ACT_DOTA_VICTORY_START = 1710, + ACT_DOTA_DEFEAT_START = 1711, + ACT_DOTA_DP_SPIRIT_SIPHON = 1712, + ACT_DOTA_TRICKS_END = 1713, + ACT_DOTA_ES_STONE_CALLER = 1714, + ACT_DOTA_MK_STRIKE = 1715, + ACT_DOTA_VERSUS = 1716, + ACT_DOTA_CAPTURE_CARD = 1717, + ACT_DOTA_MK_SPRING_SOAR = 1718, + ACT_DOTA_MK_SPRING_END = 1719, + ACT_DOTA_MK_TREE_SOAR = 1720, + ACT_DOTA_MK_TREE_END = 1721, + ACT_DOTA_MK_FUR_ARMY = 1722, + ACT_DOTA_MK_SPRING_CAST = 1723, + ACT_DOTA_NECRO_GHOST_SHROUD = 1724, + ACT_DOTA_OVERRIDE_ARCANA = 1725, + ACT_DOTA_SLIDE = 1726, + ACT_DOTA_SLIDE_LOOP = 1727, + ACT_DOTA_GENERIC_CHANNEL_1 = 1728, + ACT_DOTA_GS_SOUL_CHAIN = 1729, + ACT_DOTA_GS_INK_CREATURE = 1730, + ACT_DOTA_TRANSITION = 1731, + ACT_DOTA_BLINK_DAGGER = 1732, + ACT_DOTA_BLINK_DAGGER_END = 1733, + ACT_DOTA_CUSTOM_TOWER_ATTACK = 1734, + ACT_DOTA_CUSTOM_TOWER_IDLE = 1735, + ACT_DOTA_CUSTOM_TOWER_DIE = 1736, + ACT_DOTA_CAST_COLD_SNAP_ORB = 1737, + ACT_DOTA_CAST_GHOST_WALK_ORB = 1738, + ACT_DOTA_CAST_TORNADO_ORB = 1739, + ACT_DOTA_CAST_EMP_ORB = 1740, + ACT_DOTA_CAST_ALACRITY_ORB = 1741, + ACT_DOTA_CAST_CHAOS_METEOR_ORB = 1742, + ACT_DOTA_CAST_SUN_STRIKE_ORB = 1743, + ACT_DOTA_CAST_FORGE_SPIRIT_ORB = 1744, + ACT_DOTA_CAST_ICE_WALL_ORB = 1745, + ACT_DOTA_CAST_DEAFENING_BLAST_ORB = 1746, + ACT_DOTA_NOTICE = 1747, + ACT_DOTA_CAST_ABILITY_2_ALLY = 1748, + ACT_DOTA_SHUFFLE_L = 1749, + ACT_DOTA_SHUFFLE_R = 1750, + ACT_DOTA_OVERRIDE_LOADOUT = 1751, + ACT_DOTA_TAUNT_SPECIAL = 1752, + ACT_DOTA_TELEPORT_START = 1753, + ACT_DOTA_GENERIC_CHANNEL_1_START = 1754, + ACT_DOTA_CUSTOM_TOWER_IDLE_RARE = 1755, + ACT_DOTA_CUSTOM_TOWER_TAUNT = 1756, + ACT_DOTA_CUSTOM_TOWER_HIGH_FIVE = 1757, + ACT_DOTA_ATTACK_SPECIAL = 1758, + ACT_DOTA_TRANSITION_IDLE = 1759, + ACT_DOTA_PIERCE_THE_VEIL = 1760, + ACT_DOTA_RUN_RARE = 1761, + ACT_DOTA_VIPER_DIVE = 1762, + ACT_DOTA_VIPER_DIVE_END = 1763, + ACT_DOTA_MK_STRIKE_END = 1764, + ACT_DOTA_SHADOW_VAULT = 1765, + ACT_DOTA_KEZ_KATANA_ULT_START = 1766, + ACT_DOTA_KEZ_KATANA_ULT_CHAIN_A = 1767, + ACT_DOTA_KEZ_KATANA_ULT_CHAIN_B = 1768, + ACT_DOTA_KEZ_KATANA_ULT_END = 1769, + ACT_DOTA_KEZ_KATANA_IMPALE = 1770, + ACT_DOTA_KEZ_KATANA_IMPALE_FAST = 1771, + ACT_DOTA_UNICYCLE = 1772, + ACT_DOTA_UNICYCLE_END = 1773, +} + +declare enum DOTAMinimapEvent_t +{ + DOTA_MINIMAP_EVENT_ANCIENT_UNDER_ATTACK = 2, + DOTA_MINIMAP_EVENT_BASE_UNDER_ATTACK = 4, + DOTA_MINIMAP_EVENT_BASE_GLYPHED = 8, + DOTA_MINIMAP_EVENT_TEAMMATE_UNDER_ATTACK = 16, + DOTA_MINIMAP_EVENT_TEAMMATE_TELEPORTING = 32, + DOTA_MINIMAP_EVENT_TEAMMATE_DIED = 64, + DOTA_MINIMAP_EVENT_TUTORIAL_TASK_ACTIVE = 128, + DOTA_MINIMAP_EVENT_TUTORIAL_TASK_FINISHED = 256, + DOTA_MINIMAP_EVENT_HINT_LOCATION = 512, + DOTA_MINIMAP_EVENT_ENEMY_TELEPORTING = 1024, + DOTA_MINIMAP_EVENT_CANCEL_TELEPORTING = 2048, + DOTA_MINIMAP_EVENT_RADAR = 4096, + DOTA_MINIMAP_EVENT_RADAR_TARGET = 8192, + DOTA_MINIMAP_EVENT_MOVE_TO_TARGET = 16384, +} + +declare enum DOTASlotType_t +{ + DOTA_LOADOUT_TYPE_INVALID = -1, + DOTA_LOADOUT_TYPE_WEAPON = 0, + DOTA_LOADOUT_TYPE_OFFHAND_WEAPON = 1, + DOTA_LOADOUT_TYPE_WEAPON2 = 2, + DOTA_LOADOUT_TYPE_OFFHAND_WEAPON2 = 3, + DOTA_LOADOUT_TYPE_HEAD = 4, + DOTA_LOADOUT_TYPE_SHOULDER = 5, + DOTA_LOADOUT_TYPE_ARMS = 6, + DOTA_LOADOUT_TYPE_ARMOR = 7, + DOTA_LOADOUT_TYPE_BELT = 8, + DOTA_LOADOUT_TYPE_NECK = 9, + DOTA_LOADOUT_TYPE_BACK = 10, + DOTA_LOADOUT_TYPE_GLOVES = 11, + DOTA_LOADOUT_TYPE_LEGS = 12, + DOTA_LOADOUT_TYPE_TAIL = 13, + DOTA_LOADOUT_TYPE_MISC = 14, + DOTA_LOADOUT_TYPE_COSTUME = 15, + DOTA_LOADOUT_TYPE_HERO_BASE = 16, + DOTA_LOADOUT_TYPE_BODY_HEAD = 17, + DOTA_LOADOUT_TYPE_MOUNT = 18, + DOTA_LOADOUT_TYPE_SUMMON = 19, + DOTA_LOADOUT_TYPE_SHAPESHIFT = 20, + DOTA_LOADOUT_TYPE_TAUNT = 21, + DOTA_LOADOUT_TYPE_HERO_EFFIGY = 22, + DOTA_LOADOUT_TYPE_AMBIENT_EFFECTS = 23, + DOTA_LOADOUT_TYPE_ABILITY_ATTACK = 24, + DOTA_LOADOUT_TYPE_ABILITY1 = 25, + DOTA_LOADOUT_TYPE_ABILITY2 = 26, + DOTA_LOADOUT_TYPE_ABILITY3 = 27, + DOTA_LOADOUT_TYPE_ABILITY4 = 28, + DOTA_LOADOUT_TYPE_ABILITY_ULTIMATE = 29, + DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_1 = 30, + DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_2 = 31, + DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_3 = 32, + DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_4 = 33, + DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_5 = 34, + DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_6 = 35, + DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_7 = 36, + DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_8 = 37, + DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_9 = 38, + DOTA_LOADOUT_TYPE_VOICE = 39, + DOTA_LOADOUT_TYPE_WEAPON_PERSONA_1 = 40, + DOTA_LOADOUT_TYPE_OFFHAND_WEAPON_PERSONA_1 = 41, + DOTA_LOADOUT_TYPE_WEAPON2_PERSONA_1 = 42, + DOTA_LOADOUT_TYPE_OFFHAND_WEAPON2_PERSONA_1 = 43, + DOTA_LOADOUT_TYPE_HEAD_PERSONA_1 = 44, + DOTA_LOADOUT_TYPE_SHOULDER_PERSONA_1 = 45, + DOTA_LOADOUT_TYPE_ARMS_PERSONA_1 = 46, + DOTA_LOADOUT_TYPE_ARMOR_PERSONA_1 = 47, + DOTA_LOADOUT_TYPE_BELT_PERSONA_1 = 48, + DOTA_LOADOUT_TYPE_NECK_PERSONA_1 = 49, + DOTA_LOADOUT_TYPE_BACK_PERSONA_1 = 50, + DOTA_LOADOUT_TYPE_LEGS_PERSONA_1 = 51, + DOTA_LOADOUT_TYPE_GLOVES_PERSONA_1 = 52, + DOTA_LOADOUT_TYPE_TAIL_PERSONA_1 = 53, + DOTA_LOADOUT_TYPE_MISC_PERSONA_1 = 54, + DOTA_LOADOUT_TYPE_BODY_HEAD_PERSONA_1 = 55, + DOTA_LOADOUT_TYPE_MOUNT_PERSONA_1 = 56, + DOTA_LOADOUT_TYPE_SUMMON_PERSONA_1 = 57, + DOTA_LOADOUT_TYPE_SHAPESHIFT_PERSONA_1 = 58, + DOTA_LOADOUT_TYPE_TAUNT_PERSONA_1 = 59, + DOTA_LOADOUT_TYPE_HERO_EFFIGY_PERSONA_1 = 60, + DOTA_LOADOUT_TYPE_AMBIENT_EFFECTS_PERSONA_1 = 61, + DOTA_LOADOUT_TYPE_ABILITY_ATTACK_PERSONA_1 = 62, + DOTA_LOADOUT_TYPE_ABILITY1_PERSONA_1 = 63, + DOTA_LOADOUT_TYPE_ABILITY2_PERSONA_1 = 64, + DOTA_LOADOUT_TYPE_ABILITY3_PERSONA_1 = 65, + DOTA_LOADOUT_TYPE_ABILITY4_PERSONA_1 = 66, + DOTA_LOADOUT_TYPE_ABILITY_ULTIMATE_PERSONA_1 = 67, + DOTA_LOADOUT_TYPE_VOICE_PERSONA_1 = 68, + DOTA_LOADOUT_PERSONA_1_START = 40, + DOTA_LOADOUT_PERSONA_1_END = 68, + DOTA_LOADOUT_TYPE_PERSONA_SELECTOR = 69, + DOTA_LOADOUT_TYPE_COURIER = 70, + DOTA_LOADOUT_TYPE_ANNOUNCER = 71, + DOTA_LOADOUT_TYPE_MEGA_KILLS = 72, + DOTA_LOADOUT_TYPE_MUSIC = 73, + DOTA_LOADOUT_TYPE_WARD = 74, + DOTA_LOADOUT_TYPE_HUD_SKIN = 75, + DOTA_LOADOUT_TYPE_LOADING_SCREEN = 76, + DOTA_LOADOUT_TYPE_WEATHER = 77, + DOTA_LOADOUT_TYPE_HEROIC_STATUE = 78, + DOTA_LOADOUT_TYPE_MULTIKILL_BANNER = 79, + DOTA_LOADOUT_TYPE_CURSOR_PACK = 80, + DOTA_LOADOUT_TYPE_TELEPORT_EFFECT = 81, + DOTA_LOADOUT_TYPE_BLINK_EFFECT = 82, + DOTA_LOADOUT_TYPE_EMBLEM = 83, + DOTA_LOADOUT_TYPE_TERRAIN = 84, + DOTA_LOADOUT_TYPE_RADIANT_CREEPS = 85, + DOTA_LOADOUT_TYPE_DIRE_CREEPS = 86, + DOTA_LOADOUT_TYPE_RADIANT_TOWER = 87, + DOTA_LOADOUT_TYPE_DIRE_TOWER = 88, + DOTA_LOADOUT_TYPE_VERSUS_SCREEN = 89, + DOTA_LOADOUT_TYPE_STREAK_EFFECT = 90, + DOTA_LOADOUT_TYPE_KILL_EFFECT = 91, + DOTA_LOADOUT_TYPE_DEATH_EFFECT = 92, + DOTA_LOADOUT_TYPE_HEAD_EFFECT = 93, + DOTA_LOADOUT_TYPE_MAP_EFFECT = 94, + DOTA_LOADOUT_TYPE_COURIER_EFFECT = 95, + DOTA_LOADOUT_TYPE_RADIANT_SIEGE_CREEPS = 96, + DOTA_LOADOUT_TYPE_DIRE_SIEGE_CREEPS = 97, + DOTA_LOADOUT_TYPE_ROSHAN = 98, + DOTA_LOADOUT_TYPE_TORMENTOR = 99, + DOTA_LOADOUT_TYPE_ANCIENT = 100, + DOTA_PLAYER_LOADOUT_START = 70, + DOTA_PLAYER_LOADOUT_END = 100, + DOTA_LOADOUT_TYPE_NONE = 101, + DOTA_LOADOUT_TYPE_COUNT = 102, +} + +declare enum modifierfunction +{ + /** GetModifierPreAttack_BonusDamage */ + MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE = 0, + /** GetModifierPreAttack_BonusDamage_Target */ + MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_TARGET = 1, + /** GetModifierPreAttack_BonusDamage_Proc */ + MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_PROC = 2, + /** GetModifierPreAttack_BonusDamagePostCrit */ + MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_POST_CRIT = 3, + /** GetModifierBaseAttack_BonusDamage */ + MODIFIER_PROPERTY_BASEATTACK_BONUSDAMAGE = 4, + /** GetModifierProcAttack_BonusDamage_Physical */ + MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PHYSICAL = 5, + /** GetModifierProcAttack_ConvertPhysicalToMagical */ + MODIFIER_PROPERTY_PROCATTACK_CONVERT_PHYSICAL_TO_MAGICAL = 6, + /** GetModifierProcAttack_BonusDamage_Magical */ + MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL = 7, + /** GetModifierProcAttack_BonusDamage_Pure */ + MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PURE = 8, + /** GetModifierProcAttack_BonusDamage_Magical_Target */ + MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL_TARGET = 9, + /** GetModifierProcAttack_Feedback */ + MODIFIER_PROPERTY_PROCATTACK_FEEDBACK = 10, + /** GetModifierOverrideAttackDamage */ + MODIFIER_PROPERTY_OVERRIDE_ATTACK_DAMAGE = 11, + /** GetModifierPreAttack */ + MODIFIER_PROPERTY_PRE_ATTACK = 12, + /** GetModifierInvisibilityLevel */ + MODIFIER_PROPERTY_INVISIBILITY_LEVEL = 13, + /** GetModifierInvisibilityAttackBehaviorException */ + MODIFIER_PROPERTY_INVISIBILITY_ATTACK_BEHAVIOR_EXCEPTION = 14, + /** GetModifierPersistentInvisibility */ + MODIFIER_PROPERTY_PERSISTENT_INVISIBILITY = 15, + /** GetModifierMoveSpeedBonus_Constant */ + MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT = 16, + /** GetModifierMoveSpeedOverride */ + MODIFIER_PROPERTY_MOVESPEED_BASE_OVERRIDE = 17, + /** GetModifierMoveSpeed_MinOverride */ + MODIFIER_PROPERTY_MOVESPEED_MIN_OVERRIDE = 18, + /** GetModifierMoveSpeed_MaxOverride */ + MODIFIER_PROPERTY_MOVESPEED_MAX_OVERRIDE = 19, + /** GetModifierMoveSpeedBonus_Percentage */ + MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE = 20, + /** GetModifierMoveSpeedBonus_Percentage_Unique */ + MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE_UNIQUE = 21, + /** GetModifierMoveSpeedBonus_Special_Boots */ + MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE = 22, + /** GetModifierMoveSpeedBonus_Special_Boots_2 */ + MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE_2 = 23, + /** GetModifierMoveSpeedBonus_Constant_Unique */ + MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT_UNIQUE = 24, + /** GetModifierMoveSpeedBonus_Constant_Unique_2 */ + MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT_UNIQUE_2 = 25, + /** GetModifierMoveSpeed_Absolute */ + MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE = 26, + /** GetModifierMoveSpeed_AbsoluteMin */ + MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE_MIN = 27, + /** GetModifierMoveSpeed_AbsoluteMax */ + MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE_MAX = 28, + /** GetModifierIgnoreMovespeedLimit */ + MODIFIER_PROPERTY_IGNORE_MOVESPEED_LIMIT = 29, + /** GetModifierMoveSpeed_Limit */ + MODIFIER_PROPERTY_MOVESPEED_LIMIT = 30, + /** GetModifierAttackSpeedBaseOverride */ + MODIFIER_PROPERTY_ATTACKSPEED_BASE_OVERRIDE = 31, + /** GetModifierFixedAttackRate */ + MODIFIER_PROPERTY_FIXED_ATTACK_RATE = 32, + /** GetModifierAttackSpeedBonus_Constant */ + MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT = 33, + /** GetModifierAttackSpeed_Limit */ + MODIFIER_PROPERTY_IGNORE_ATTACKSPEED_LIMIT = 34, + /** GetModifierCooldownReduction_Constant */ + MODIFIER_PROPERTY_COOLDOWN_REDUCTION_CONSTANT = 35, + /** GetModifierManacostReduction_Constant */ + MODIFIER_PROPERTY_MANACOST_REDUCTION_CONSTANT = 36, + /** GetModifierHealthcostReduction_Constant */ + MODIFIER_PROPERTY_HEALTHCOST_REDUCTION_CONSTANT = 37, + /** GetModifierBaseAttackTimeConstant */ + MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT = 38, + /** GetModifierBaseAttackTimeConstant_Adjust */ + MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT_ADJUST = 39, + /** GetModifierBaseAttackTimePercentage */ + MODIFIER_PROPERTY_BASE_ATTACK_TIME_PERCENTAGE = 40, + /** GetModifierAttackPointConstant */ + MODIFIER_PROPERTY_ATTACK_POINT_CONSTANT = 41, + /** GetModifierBonusDamageOutgoing_Percentage */ + MODIFIER_PROPERTY_BONUSDAMAGEOUTGOING_PERCENTAGE = 42, + /** GetModifierDamageOutgoing_Percentage */ + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE = 43, + /** GetModifierDamageOutgoing_Percentage_Illusion */ + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION = 44, + /** GetModifierDamageOutgoing_Percentage_Illusion_Amplify */ + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION_AMPLIFY = 45, + /** GetModifierTotalDamageOutgoing_Percentage */ + MODIFIER_PROPERTY_TOTALDAMAGEOUTGOING_PERCENTAGE = 46, + /** GetModifierSpellAmplify_PercentageCreep */ + MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_CREEP = 47, + /** GetModifierSpellAmplify_Percentage */ + MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE = 48, + /** GetModifierSpellAmplify_PercentageUnique */ + MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_UNIQUE = 49, + /** GetModifierSpellAmplify_PercentageTarget */ + MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_TARGET = 50, + /** GetModifierHealAmplify_PercentageSource */ + MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_SOURCE = 51, + /** GetModifierHealAmplify_PercentageTarget */ + MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_TARGET = 52, + /** GetModifierHPRegen_CanBeNegative */ + MODIFIER_PROPERTY_HP_REGEN_CAN_BE_NEGATIVE = 53, + /** GetModifierHPRegenAmplify_Percentage */ + MODIFIER_PROPERTY_HP_REGEN_AMPLIFY_PERCENTAGE = 54, + /** GetModifierLifestealRegenAmplify_Percentage */ + MODIFIER_PROPERTY_LIFESTEAL_AMPLIFY_PERCENTAGE = 55, + /** GetModifierSpellLifestealRegenAmplify_Percentage */ + MODIFIER_PROPERTY_SPELL_LIFESTEAL_AMPLIFY_PERCENTAGE = 56, + /** GetModifierSpellLifestealRegenAmplify_Percentage_Unique */ + MODIFIER_PROPERTY_SPELL_LIFESTEAL_AMPLIFY_PERCENTAGE_UNIQUE = 57, + /** GetModifierMPRegenAmplify_Percentage */ + MODIFIER_PROPERTY_MP_REGEN_AMPLIFY_PERCENTAGE = 58, + /** GetModifierMPRegenAmplify_Percentage_Unique */ + MODIFIER_PROPERTY_MP_REGEN_AMPLIFY_PERCENTAGE_UNIQUE = 59, + /** GetModifierManaDrainAmplify_Percentage */ + MODIFIER_PROPERTY_MANA_DRAIN_AMPLIFY_PERCENTAGE = 60, + /** GetModifierMPRestoreAmplify_Percentage */ + MODIFIER_PROPERTY_MP_RESTORE_AMPLIFY_PERCENTAGE = 61, + /** GetModifierBaseDamageOutgoing_Percentage */ + MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE = 62, + /** GetModifierBaseDamageOutgoing_PercentageUnique */ + MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE_UNIQUE = 63, + /** GetModifierIncomingDamage_Percentage */ + MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE = 64, + /** GetModifierIncomingPhysicalDamage_Percentage */ + MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_PERCENTAGE = 65, + /** GetModifierIncomingPhysicalDamageConstant */ + MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_CONSTANT = 66, + /** GetModifierIncomingSpellDamageConstant */ + MODIFIER_PROPERTY_INCOMING_SPELL_DAMAGE_CONSTANT = 67, + /** GetModifierEvasion_Constant */ + MODIFIER_PROPERTY_EVASION_CONSTANT = 68, + /** GetModifierNegativeEvasion_Constant */ + MODIFIER_PROPERTY_NEGATIVE_EVASION_CONSTANT = 69, + /** GetModifierStatusResistance */ + MODIFIER_PROPERTY_STATUS_RESISTANCE = 70, + /** GetModifierStatusResistanceStacking */ + MODIFIER_PROPERTY_STATUS_RESISTANCE_STACKING = 71, + /** GetModifierStatusResistanceCaster */ + MODIFIER_PROPERTY_STATUS_RESISTANCE_CASTER = 72, + /** GetModifierAvoidDamage */ + MODIFIER_PROPERTY_AVOID_DAMAGE = 73, + /** GetModifierAvoidSpell */ + MODIFIER_PROPERTY_AVOID_SPELL = 74, + /** GetModifierMiss_Percentage */ + MODIFIER_PROPERTY_MISS_PERCENTAGE = 75, + /** GetModifierPhysicalArmorBase_Percentage */ + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BASE_PERCENTAGE = 76, + /** GetModifierPhysicalArmorTotal_Percentage */ + MODIFIER_PROPERTY_PHYSICAL_ARMOR_TOTAL_PERCENTAGE = 77, + /** GetModifierPhysicalArmorBonus */ + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS = 78, + /** GetModifierPhysicalArmorBonusUnique */ + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE = 79, + /** GetModifierPhysicalArmorBonusUniqueActive */ + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE_ACTIVE = 80, + /** GetModifierPhysicalArmorBonusPost */ + MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_POST = 81, + /** GetModifierMinPhysicalArmor */ + MODIFIER_PROPERTY_MIN_PHYSICAL_ARMOR = 82, + /** GetModifierIgnorePhysicalArmor */ + MODIFIER_PROPERTY_IGNORE_PHYSICAL_ARMOR = 83, + /** GetModifierMagicalResistanceBaseReduction */ + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BASE_REDUCTION = 84, + /** GetModifierMagicalResistanceDirectModification */ + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DIRECT_MODIFICATION = 85, + /** GetModifierMagicalResistanceBonus */ + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS = 86, + /** GetModifierMagicalResistanceBonusIllusions */ + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_ILLUSIONS = 87, + /** GetModifierMagicalResistanceBonusUnique */ + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_UNIQUE = 88, + /** GetModifierMagicalResistanceDecrepifyUnique */ + MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DECREPIFY_UNIQUE = 89, + /** GetModifierBaseRegen */ + MODIFIER_PROPERTY_BASE_MANA_REGEN = 90, + /** GetModifierConstantManaRegen */ + MODIFIER_PROPERTY_MANA_REGEN_CONSTANT = 91, + /** GetModifierConstantManaRegenUnique */ + MODIFIER_PROPERTY_MANA_REGEN_CONSTANT_UNIQUE = 92, + /** GetModifierTotalPercentageManaRegen */ + MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE = 93, + /** GetModifierConstantHealthRegen */ + MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT = 94, + /** GetModifierHealthRegenPercentage */ + MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE = 95, + /** GetModifierHealthRegenPercentageUnique */ + MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE_UNIQUE = 96, + /** GetModifierHealthBonus */ + MODIFIER_PROPERTY_HEALTH_BONUS = 97, + /** GetModifierManaBonus */ + MODIFIER_PROPERTY_MANA_BONUS = 98, + /** GetModifierExtraStrengthBonus */ + MODIFIER_PROPERTY_EXTRA_STRENGTH_BONUS = 99, + /** GetModifierExtraHealthBonus */ + MODIFIER_PROPERTY_EXTRA_HEALTH_BONUS = 100, + /** GetModifierExtraManaBonus */ + MODIFIER_PROPERTY_EXTRA_MANA_BONUS = 101, + /** GetModifierExtraManaBonusPercentage */ + MODIFIER_PROPERTY_EXTRA_MANA_BONUS_PERCENTAGE = 102, + /** GetModifierExtraHealthPercentage */ + MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE = 103, + /** GetModifierExtraManaPercentage */ + MODIFIER_PROPERTY_EXTRA_MANA_PERCENTAGE = 104, + /** GetModifierBonusStats_Strength */ + MODIFIER_PROPERTY_STATS_STRENGTH_BONUS = 105, + /** GetModifierBonusStats_Agility */ + MODIFIER_PROPERTY_STATS_AGILITY_BONUS = 106, + /** GetModifierBonusStats_Intellect */ + MODIFIER_PROPERTY_STATS_INTELLECT_BONUS = 107, + /** GetModifierBonusStats_Strength_Percentage */ + MODIFIER_PROPERTY_STATS_STRENGTH_BONUS_PERCENTAGE = 108, + /** GetModifierBonusStats_Agility_Percentage */ + MODIFIER_PROPERTY_STATS_AGILITY_BONUS_PERCENTAGE = 109, + /** GetModifierBonusStats_Intellect_Percentage */ + MODIFIER_PROPERTY_STATS_INTELLECT_BONUS_PERCENTAGE = 110, + /** GetModifierCastRangeBonus */ + MODIFIER_PROPERTY_CAST_RANGE_BONUS = 111, + /** GetModifierCastRangeBonusPercentage */ + MODIFIER_PROPERTY_CAST_RANGE_BONUS_PERCENTAGE = 112, + /** GetModifierCastRangeBonusTarget */ + MODIFIER_PROPERTY_CAST_RANGE_BONUS_TARGET = 113, + /** GetModifierCastRangeBonusStacking */ + MODIFIER_PROPERTY_CAST_RANGE_BONUS_STACKING = 114, + /** GetModifierAttackRangeOverride */ + MODIFIER_PROPERTY_ATTACK_RANGE_BASE_OVERRIDE = 115, + /** GetModifierAttackRangeBonus */ + MODIFIER_PROPERTY_ATTACK_RANGE_BONUS = 116, + /** GetModifierAttackRangeBonusUnique */ + MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_UNIQUE = 117, + /** GetModifierAttackRangeBonusPercentage */ + MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_PERCENTAGE = 118, + /** GetModifierMaxAttackRange */ + MODIFIER_PROPERTY_MAX_ATTACK_RANGE = 119, + /** GetModifierProjectileSpeedBonus */ + MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS = 120, + /** GetModifierProjectileSpeedBonusPercentage */ + MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS_PERCENTAGE = 121, + /** GetModifierProjectileName */ + MODIFIER_PROPERTY_PROJECTILE_NAME = 122, + /** ReincarnateTime */ + MODIFIER_PROPERTY_REINCARNATION = 123, + /** ReincarnateSuppressFX */ + MODIFIER_PROPERTY_REINCARNATION_SUPPRESS_FX = 124, + /** GetModifierConstantRespawnTime */ + MODIFIER_PROPERTY_RESPAWNTIME = 125, + /** GetModifierPercentageRespawnTime */ + MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE = 126, + /** GetModifierStackingRespawnTime */ + MODIFIER_PROPERTY_RESPAWNTIME_STACKING = 127, + /** GetModifierPercentageCooldown */ + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE = 128, + /** GetModifierPercentageCooldownOngoing */ + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_ONGOING = 129, + /** GetModifierPercentageCasttime */ + MODIFIER_PROPERTY_CASTTIME_PERCENTAGE = 130, + /** GetModifierPercentageAttackAnimTime */ + MODIFIER_PROPERTY_ATTACK_ANIM_TIME_PERCENTAGE = 131, + /** GetModifierPercentageManacost */ + MODIFIER_PROPERTY_MANACOST_PERCENTAGE = 132, + /** GetModifierPercentageManacostStacking */ + MODIFIER_PROPERTY_MANACOST_PERCENTAGE_STACKING = 133, + /** GetModifierPercentageHealthcost */ + MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE = 134, + /** GetModifierPercentageHealthcostStacking */ + MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE_STACKING = 135, + /** GetModifierConstantDeathGoldCost */ + MODIFIER_PROPERTY_DEATHGOLDCOST = 136, + /** GetModifierPercentageDeathGoldCost */ + MODIFIER_PROPERTY_PERCENTAGE_DEATHGOLDCOST = 137, + /** GetModifierPercentageExpRateBoost */ + MODIFIER_PROPERTY_EXP_RATE_BOOST = 138, + /** GetModifierPercentageGoldRateBoost */ + MODIFIER_PROPERTY_GOLD_RATE_BOOST = 139, + /** GetModifierPreAttack_CriticalStrike */ + MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE = 140, + /** GetModifierPreAttack_Target_CriticalStrike */ + MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE = 141, + /** GetModifierMagical_ConstantBlock */ + MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK = 142, + /** GetModifierPhysical_ConstantBlock */ + MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK = 143, + /** GetModifierPhysical_ConstantBlockSpecial */ + MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL = 144, + /** GetModifierInnateDamageBlockPctOverride */ + MODIFIER_PROPERTY_INNATE_DAMAGE_BLOCK_PCT_OVERRIDE = 145, + /** GetModifierPhysical_ConstantBlockUnavoidablePreArmor */ + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR = 146, + /** GetModifierTotal_ConstantBlock */ + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK = 147, + /** GetOverrideAnimation */ + MODIFIER_PROPERTY_OVERRIDE_ANIMATION = 148, + /** GetOverrideAnimationRate */ + MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE = 149, + /** GetAbsorbSpell */ + MODIFIER_PROPERTY_ABSORB_SPELL = 150, + /** GetReflectSpell */ + MODIFIER_PROPERTY_REFLECT_SPELL = 151, + /** GetDisableAutoAttack */ + MODIFIER_PROPERTY_DISABLE_AUTOATTACK = 152, + /** GetBonusDayVision */ + MODIFIER_PROPERTY_BONUS_DAY_VISION = 153, + /** GetBonusDayVisionPercentage */ + MODIFIER_PROPERTY_BONUS_DAY_VISION_PERCENTAGE = 154, + /** GetBonusNightVision */ + MODIFIER_PROPERTY_BONUS_NIGHT_VISION = 155, + /** GetBonusNightVisionUnique */ + MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE = 156, + /** GetBonusVisionPercentage */ + MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE = 157, + /** GetFixedDayVision */ + MODIFIER_PROPERTY_FIXED_DAY_VISION = 158, + /** GetFixedNightVision */ + MODIFIER_PROPERTY_FIXED_NIGHT_VISION = 159, + /** GetMinHealth */ + MODIFIER_PROPERTY_MIN_HEALTH = 160, + /** GetMinMana */ + MODIFIER_PROPERTY_MIN_MANA = 161, + /** GetAbsoluteNoDamagePhysical */ + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL = 162, + /** GetAbsoluteNoDamageMagical */ + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL = 163, + /** GetAbsoluteNoDamagePure */ + MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE = 164, + /** GetIsIllusion */ + MODIFIER_PROPERTY_IS_ILLUSION = 165, + /** GetModifierIllusionLabel */ + MODIFIER_PROPERTY_ILLUSION_LABEL = 166, + /** GetModifierStrongIllusion */ + MODIFIER_PROPERTY_STRONG_ILLUSION = 167, + /** GetModifierSuperIllusion */ + MODIFIER_PROPERTY_SUPER_ILLUSION = 168, + /** GetModifierSuperIllusionWithUltimate */ + MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE = 169, + /** GetModifierXPDuringDeath */ + MODIFIER_PROPERTY_XP_DURING_DEATH = 170, + /** GetModifierTurnRate_Percentage */ + MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE = 171, + /** GetModifierTurnRate_Override */ + MODIFIER_PROPERTY_TURN_RATE_OVERRIDE = 172, + /** GetDisableHealing */ + MODIFIER_PROPERTY_DISABLE_HEALING = 173, + /** GetDisableManaGain */ + MODIFIER_PROPERTY_DISABLE_MANA_GAIN = 174, + /** GetAlwaysAllowAttack */ + MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK = 175, + /** GetAllowEtherealAttack */ + MODIFIER_PROPERTY_ALWAYS_ETHEREAL_ATTACK = 176, + /** GetOverrideAttackMagical */ + MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL = 177, + /** GetModifierUnitStatsNeedsRefresh */ + MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH = 178, + /** Unused */ + MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER = 179, + /** Unused */ + MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER = 180, + /** GetModifierUnitDisllowUpgrading */ + MODIFIER_PROPERTY_UNIT_DISALLOW_UPGRADING = 181, + /** GetModifierDodgeProjectile */ + MODIFIER_PROPERTY_DODGE_PROJECTILE = 182, + /** GetTriggerCosmeticAndEndAttack */ + MODIFIER_PROPERTY_TRIGGER_COSMETIC_AND_END_ATTACK = 183, + /** GetModifierMaxDebuffDuration */ + MODIFIER_PROPERTY_MAX_DEBUFF_DURATION = 184, + /** GetPrimaryStatDamageMultiplier */ + MODIFIER_PROPERTY_PRIMARY_STAT_DAMAGE_MULTIPLIER = 185, + /** GetModifierPreAttack_DeadlyBlow */ + MODIFIER_PROPERTY_PREATTACK_DEADLY_BLOW = 186, + /** GetAlwaysAutoAttackWhileHoldPosition */ + MODIFIER_PROPERTY_ALWAYS_AUTOATTACK_WHILE_HOLD_POSITION = 187, + /** GetPhysicalArmorPiercingPercentageTarget */ + MODIFIER_PROPERTY_PHYSICAL_ARMOR_PIERCING_PERCENTAGE_TARGET = 188, + /** GetMagicalArmorPiercingPercentageTarget */ + MODIFIER_PROPERTY_MAGICAL_ARMOR_PIERCING_PERCENTAGE_TARGET = 189, + /** GetCriticalStrikeBonus */ + MODIFIER_PROPERTY_CRITICAL_STRIKE_BONUS = 190, + /** GetConvertAttackPhysicalToPure */ + MODIFIER_PROPERTY_CONVERT_ATTACK_PHYSICAL_TO_PURE = 191, + /** OnSpellTargetReady */ + MODIFIER_EVENT_ON_SPELL_TARGET_READY = 192, + /** OnAttackRecord */ + MODIFIER_EVENT_ON_ATTACK_RECORD = 193, + /** OnAttackStart */ + MODIFIER_EVENT_ON_ATTACK_START = 194, + /** OnAttack */ + MODIFIER_EVENT_ON_ATTACK = 195, + /** OnAttackLanded */ + MODIFIER_EVENT_ON_ATTACK_LANDED = 196, + /** OnAttackFail */ + MODIFIER_EVENT_ON_ATTACK_FAIL = 197, + /** OnAttackAllied */ + MODIFIER_EVENT_ON_ATTACK_ALLIED = 198, + /** OnProjectileDodge */ + MODIFIER_EVENT_ON_PROJECTILE_DODGE = 199, + /** OnOrder */ + MODIFIER_EVENT_ON_ORDER = 200, + /** OnUnitMoved */ + MODIFIER_EVENT_ON_UNIT_MOVED = 201, + /** OnAbilityStart */ + MODIFIER_EVENT_ON_ABILITY_START = 202, + /** OnAbilityExecuted */ + MODIFIER_EVENT_ON_ABILITY_EXECUTED = 203, + /** OnAbilityFullyCast */ + MODIFIER_EVENT_ON_ABILITY_FULLY_CAST = 204, + /** OnBreakInvisibility */ + MODIFIER_EVENT_ON_BREAK_INVISIBILITY = 205, + /** OnAbilityEndChannel */ + MODIFIER_EVENT_ON_ABILITY_END_CHANNEL = 206, + /** Unused */ + MODIFIER_EVENT_ON_PROCESS_UPGRADE = 207, + /** Unused */ + MODIFIER_EVENT_ON_REFRESH = 208, + /** OnTakeDamage */ + MODIFIER_EVENT_ON_TAKEDAMAGE = 209, + /** OnDamagePrevented */ + MODIFIER_EVENT_ON_DEATH_PREVENTED = 210, + /** OnStateChanged */ + MODIFIER_EVENT_ON_STATE_CHANGED = 211, + /** Unused */ + MODIFIER_EVENT_ON_ORB_EFFECT = 212, + /** OnProcessCleave */ + MODIFIER_EVENT_ON_PROCESS_CLEAVE = 213, + /** OnDamageCalculated */ + MODIFIER_EVENT_ON_DAMAGE_CALCULATED = 214, + /** OnMagicDamageCalculated */ + MODIFIER_EVENT_ON_MAGIC_DAMAGE_CALCULATED = 215, + /** OnAttacked */ + MODIFIER_EVENT_ON_ATTACKED = 216, + /** OnDeath */ + MODIFIER_EVENT_ON_DEATH = 217, + /** OnDeathCompleted */ + MODIFIER_EVENT_ON_DEATH_COMPLETED = 218, + /** OnRespawn */ + MODIFIER_EVENT_ON_RESPAWN = 219, + /** OnSpentMana */ + MODIFIER_EVENT_ON_SPENT_MANA = 220, + /** OnSpentHealth */ + MODIFIER_EVENT_ON_SPENT_HEALTH = 221, + /** OnTeleporting */ + MODIFIER_EVENT_ON_TELEPORTING = 222, + /** OnTeleported */ + MODIFIER_EVENT_ON_TELEPORTED = 223, + /** OnSetLocation */ + MODIFIER_EVENT_ON_SET_LOCATION = 224, + /** OnHealthGained */ + MODIFIER_EVENT_ON_HEALTH_GAINED = 225, + /** OnManaGained */ + MODIFIER_EVENT_ON_MANA_GAINED = 226, + /** OnTakeDamageKillCredit */ + MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT = 227, + /** OnHeroKilled */ + MODIFIER_EVENT_ON_HERO_KILLED = 228, + /** OnHealReceived */ + MODIFIER_EVENT_ON_HEAL_RECEIVED = 229, + /** OnBuildingKilled */ + MODIFIER_EVENT_ON_BUILDING_KILLED = 230, + /** OnModelChanged */ + MODIFIER_EVENT_ON_MODEL_CHANGED = 231, + /** OnModifierAdded */ + MODIFIER_EVENT_ON_MODIFIER_ADDED = 232, + /** OnModifierRemoved */ + MODIFIER_EVENT_ON_MODIFIER_REMOVED = 233, + /** OnTooltip */ + MODIFIER_PROPERTY_TOOLTIP = 234, + /** GetModifierModelChange */ + MODIFIER_PROPERTY_MODEL_CHANGE = 235, + /** GetModifierModelScale */ + MODIFIER_PROPERTY_MODEL_SCALE = 236, + /** GetModifierModelScaleAnimateTime */ + MODIFIER_PROPERTY_MODEL_SCALE_ANIMATE_TIME = 237, + /** GetModifierModelScaleUseInOutEase */ + MODIFIER_PROPERTY_MODEL_SCALE_USE_IN_OUT_EASE = 238, + /** GetModifierModelScaleConstant */ + MODIFIER_PROPERTY_MODEL_SCALE_CONSTANT = 239, + /** GetModifierScepter */ + MODIFIER_PROPERTY_IS_SCEPTER = 240, + /** GetModifierShard */ + MODIFIER_PROPERTY_IS_SHARD = 241, + /** GetModifierRadarCooldownReduction */ + MODIFIER_PROPERTY_RADAR_COOLDOWN_REDUCTION = 242, + /** GetActivityTranslationModifiers */ + MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS = 243, + /** GetAttackSound */ + MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND = 244, + /** GetUnitLifetimeFraction */ + MODIFIER_PROPERTY_LIFETIME_FRACTION = 245, + /** GetModifierProvidesFOWVision */ + MODIFIER_PROPERTY_PROVIDES_FOW_POSITION = 246, + /** GetModifierSpellsRequireHP */ + MODIFIER_PROPERTY_SPELLS_REQUIRE_HP = 247, + /** GetModifierConvertManaCostToHealthCost */ + MODIFIER_PROPERTY_CONVERT_MANA_COST_TO_HEALTH_COST = 248, + /** GetForceDrawOnMinimap */ + MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP = 249, + /** GetModifierDisableTurning */ + MODIFIER_PROPERTY_DISABLE_TURNING = 250, + /** GetModifierIgnoreCastAngle */ + MODIFIER_PROPERTY_IGNORE_CAST_ANGLE = 251, + /** GetModifierChangeAbilityValue */ + MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE = 252, + /** GetModifierOverrideAbilitySpecial */ + MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL = 253, + /** GetModifierOverrideAbilitySpecialValue */ + MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL_VALUE = 254, + /** GetModifierAbilityLayout */ + MODIFIER_PROPERTY_ABILITY_LAYOUT = 255, + /** OnDominated */ + MODIFIER_EVENT_ON_DOMINATED = 256, + /** OnKill */ + MODIFIER_EVENT_ON_KILL = 257, + /** OnAssist */ + MODIFIER_EVENT_ON_ASSIST = 258, + /** GetModifierTempestDouble */ + MODIFIER_PROPERTY_TEMPEST_DOUBLE = 259, + /** PreserveParticlesOnModelChanged */ + MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE = 260, + /** OnAttackFinished */ + MODIFIER_EVENT_ON_ATTACK_FINISHED = 261, + /** GetModifierIgnoreCooldown */ + MODIFIER_PROPERTY_IGNORE_COOLDOWN = 262, + /** GetModifierCanAttackTrees */ + MODIFIER_PROPERTY_CAN_ATTACK_TREES = 263, + /** GetVisualZDelta */ + MODIFIER_PROPERTY_VISUAL_Z_DELTA = 264, + /** GetVisualZSpeedBaseOverride */ + MODIFIER_PROPERTY_VISUAL_Z_SPEED_BASE_OVERRIDE = 265, + MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION = 266, + /** GetModifierNoVisionOfAttacker */ + MODIFIER_PROPERTY_DONT_GIVE_VISION_OF_ATTACKER = 267, + /** OnTooltip2 */ + MODIFIER_PROPERTY_TOOLTIP2 = 268, + /** OnAttackRecordDestroy */ + MODIFIER_EVENT_ON_ATTACK_RECORD_DESTROY = 269, + /** OnProjectileObstructionHit */ + MODIFIER_EVENT_ON_PROJECTILE_OBSTRUCTION_HIT = 270, + /** GetSuppressTeleport */ + MODIFIER_PROPERTY_SUPPRESS_TELEPORT = 271, + /** OnAttackCancelled */ + MODIFIER_EVENT_ON_ATTACK_CANCELLED = 272, + /** GetSuppressCleave */ + MODIFIER_PROPERTY_SUPPRESS_CLEAVE = 273, + /** BotAttackScoreBonus */ + MODIFIER_PROPERTY_BOT_ATTACK_SCORE_BONUS = 274, + /** GetModifierAttackSpeedReductionPercentage */ + MODIFIER_PROPERTY_ATTACKSPEED_REDUCTION_PERCENTAGE = 275, + /** GetModifierMoveSpeedReductionPercentage */ + MODIFIER_PROPERTY_MOVESPEED_REDUCTION_PERCENTAGE = 276, + MODIFIER_PROPERTY_ATTACK_WHILE_MOVING_TARGET = 277, + /** GetModifierAttackSpeedPercentage */ + MODIFIER_PROPERTY_ATTACKSPEED_PERCENTAGE = 278, + /** OnAttemptProjectileDodge */ + MODIFIER_EVENT_ON_ATTEMPT_PROJECTILE_DODGE = 279, + /** OnPreDebuffApplied */ + MODIFIER_EVENT_ON_PREDEBUFF_APPLIED = 280, + /** GetModifierPercentageCooldownStacking */ + MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING = 281, + /** GetModifierSpellRedirectTarget */ + MODIFIER_PROPERTY_SPELL_REDIRECT_TARGET = 282, + /** GetModifierTurnRateConstant */ + MODIFIER_PROPERTY_TURN_RATE_CONSTANT = 283, + /** GetModifierIsPackRat */ + MODIFIER_PROPERTY_PACK_RAT = 284, + /** GetModifierPhysicalDamageOutgoing_Percentage */ + MODIFIER_PROPERTY_PHYSICALDAMAGEOUTGOING_PERCENTAGE = 285, + /** GetModifierKnockbackAmplification_Percentage */ + MODIFIER_PROPERTY_KNOCKBACK_AMPLIFICATION_PERCENTAGE = 286, + /** GetModifierHealthBarPips */ + MODIFIER_PROPERTY_HEALTHBAR_PIPS = 287, + /** GetModifierIncomingDamageConstant */ + MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT = 288, + /** OnSpellAppliedSuccessfully */ + MODIFIER_EVENT_SPELL_APPLIED_SUCCESSFULLY = 289, + /** GetModifierAvoidDamageAfterReductions */ + MODIFIER_PROPERTY_AVOID_DAMAGE_AFTER_REDUCTIONS = 290, + /** GetModifierPropetyFailAttack */ + MODIFIER_PROPERTY_FAIL_ATTACK = 291, + /** GetModifierPrereduceIncomingDamage_Mult */ + MODIFIER_PROPERTY_PREREDUCE_INCOMING_DAMAGE_MULT = 292, + /** GetModifierSuppressFullscreenDeathFX */ + MODIFIER_PROPERTY_SUPPRESS_FULLSCREEN_DEATH_FX = 293, + /** MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT_POST */ + MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT_POST = 294, + /** GetModifierDamageOutgoing_PercentageMultiplicative */ + MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_MULTIPLICATIVE = 295, + /** GetModifierTickGold_Multiplier */ + MODIFIER_PROPERTY_TICK_GOLD_MULTIPLIER = 296, + /** GEtModifierSlowResistance_Unique */ + MODIFIER_PROPERTY_SLOW_RESISTANCE_UNIQUE = 297, + /** GetModifierSlowResistance_Stacking */ + MODIFIER_PROPERTY_SLOW_RESISTANCE_STACKING = 298, + /** GetModifierSlowResistanceAppliesToAttacks */ + MODIFIER_PROPERTY_SLOW_RESISTANCE_APPLIES_TO_ATTACKS = 299, + /** GetModifierAoEBonusPercentage */ + MODIFIER_PROPERTY_AOE_BONUS_PERCENTAGE = 300, + /** GetModifierProjectileSpeed */ + MODIFIER_PROPERTY_PROJECTILE_SPEED = 301, + /** GetModifierProjectileSpeedTarget */ + MODIFIER_PROPERTY_PROJECTILE_SPEED_TARGET = 302, + /** GetModifierBecomeStrength */ + MODIFIER_PROPERTY_BECOME_STRENGTH = 303, + /** GetModifierBecomeAgility */ + MODIFIER_PROPERTY_BECOME_AGILITY = 304, + /** GetModifierBecomeIntelligence */ + MODIFIER_PROPERTY_BECOME_INTELLIGENCE = 305, + /** GetModifierBecomeUniversal */ + MODIFIER_PROPERTY_BECOME_UNIVERSAL = 306, + /** OnForceProcMagicStick */ + MODIFIER_EVENT_ON_FORCE_PROC_MAGIC_STICK = 307, + /** OnDamageHPLoss */ + MODIFIER_EVENT_ON_DAMAGE_HPLOSS = 308, + /** GetModifierShareXPRune */ + MODIFIER_PROPERTY_SHARE_XPRUNE = 309, + /** GetModifierXPFountainCountdownTimeOverride */ + MODIFIER_PROPERTY_XP_FOUNTAIN_COUNTDOWN_TIME_OVERRIDE = 310, + /** GetModifierNoFreeTPScrollOnDeath */ + MODIFIER_PROPERTY_NO_FREE_TP_SCROLL_ON_DEATH = 311, + /** GetModifierHasBonusNeutralItemChoice */ + MODIFIER_PROPERTY_HAS_BONUS_NEUTRAL_ITEM_CHOICE = 312, + /** GetModifierPreserveNeutralItemPassives */ + MODIFIER_PROPERTY_PRESERVE_NEUTRAL_ITEM_PASSIVES = 313, + /** GetModifierForceMaxHealth */ + MODIFIER_PROPERTY_FORCE_MAX_HEALTH = 314, + /** GetModifierForceMaxMana */ + MODIFIER_PROPERTY_FORCE_MAX_MANA = 315, + /** GetModifierAoEBonusConstant */ + MODIFIER_PROPERTY_AOE_BONUS_CONSTANT = 316, + /** GetModifierAoEBonusConstantStacking */ + MODIFIER_PROPERTY_AOE_BONUS_CONSTANT_STACKING = 317, + /** OnTakeDamagePostUnavoidableBlock */ + MODIFIER_EVENT_ON_TAKEDAMAGE_POST_UNAVOIDABLE_BLOCK = 318, + /** OnMuteDamageAbilities */ + MODIFIER_EVENT_ON_MUTE_DAMAGE_ABILITIES = 319, + /** GetSuppressCrit */ + MODIFIER_PROPERTY_SUPPRESS_CRIT = 320, + /** GetModifierAbilityPoints */ + MODIFIER_PROPERTY_ABILITY_POINTS = 321, + /** GetModifierBuybackPenaltyPercent */ + MODIFIER_PROPERTY_BUYBACK_PENALTY_PERCENT = 322, + /** GetModifierItemSellbackCost */ + MODIFIER_PROPERTY_ITEM_SELLBACK_COST = 323, + /** GetModifierDisassembleAnything */ + MODIFIER_PROPERTY_DISASSEMBLE_ANYTHING = 324, + /** GetModifierFixedManaRegen */ + MODIFIER_PROPERTY_FIXED_MANA_REGEN = 325, + /** GetModifierBonusUphillMissChance */ + MODIFIER_PROPERTY_BONUS_UPHILL_MISS_CHANCE = 326, + /** GetModifierCreepDenyPercent */ + MODIFIER_PROPERTY_CREEP_DENY_PERCENT = 327, + /** GetModifierAttackSpeedAbsoluteMax */ + MODIFIER_PROPERTY_ATTACKSPEED_ABSOLUTE_MAX = 328, + /** GetModifierFoWTeam */ + MODIFIER_PROPERTY_FOW_TEAM = 329, + /** OnHeroBeginDying */ + MODIFIER_EVENT_ON_HERO_BEGIN_DYING = 330, + /** GetModifierBonusLotusHeal */ + MODIFIER_PROPERTY_BONUS_LOTUS_HEAL = 331, + /** GetModifierBonusLotusHeal */ + MODIFIER_PROPERTY_BASE_HP_REGEN_PER_STR_BONUS_PERCENTAGE = 332, + /** GetModifierBonusLotusHeal */ + MODIFIER_PROPERTY_BASE_ARMOR_PER_AGI_BONUS_PERCENTAGE = 333, + /** GetModifierBonusLotusHeal */ + MODIFIER_PROPERTY_BASE_MP_REGEN_PER_INT_BONUS_PERCENTAGE = 334, + /** GetModifierBonusLotusHeal */ + MODIFIER_PROPERTY_BASE_MRES_PER_INT_BONUS_PERCENTAGE = 335, + /** OnDayStarted */ + MODIFIER_EVENT_ON_DAY_STARTED = 336, + /** OnNightStarted */ + MODIFIER_EVENT_ON_NIGHT_STARTED = 337, + /** GetModifierCreateBonusIllusionChance */ + MODIFIER_PROPERTY_CREATE_BONUS_ILLUSION_CHANCE = 338, + /** GetModifierCreateBonusIllusionCount */ + MODIFIER_PROPERTY_CREATE_BONUS_ILLUSION_COUNT = 339, + /** GetModofierPropertyPseudoRandomBonus */ + MODIFIER_PROPERTY_PSEUDORANDOM_BONUS = 340, + /** GetModifierAttackHeightBonus */ + MODIFIER_PROPERTY_ATTACK_HEIGHT_BONUS = 341, + /** GetSkipAttackRegulator */ + MODIFIER_PROPERTY_SKIP_ATTACK_REGULATOR = 342, + /** GetModifierMiss_Percentage_Target */ + MODIFIER_PROPERTY_MISS_PERCENTAGE_TARGET = 343, + /** GetModifierAdditionalNutralItemDrops */ + MODIFIER_PROPERTY_ADDITIONAL_NEUTRAL_ITEM_DROPS = 344, + /** GetModifierKillStreakBonusGoldPercentage */ + MODIFIER_PROPERTY_KILL_STREAK_BONUS_GOLD_PERCENTAGE = 345, + /** GetModifierHPRegenMultiplierPreAmplification */ + MODIFIER_PROPERTY_HP_REGEN_MULTIPLIER_PRE_AMPLIFICATION = 346, + /** GetModifierHeroFacetOverride */ + MODIFIER_PROPERTY_HEROFACET_OVERRIDE = 347, + /** OnTreeCutDown */ + MODIFIER_EVENT_ON_TREE_CUT_DOWN = 348, + /** OnCleaveAttackLanded */ + MODIFIER_EVENT_ON_CLEAVE_ATTACK_LANDED = 349, + /** MinAttributeLevel */ + MODIFIER_PROPERTY_MIN_ATTRIBUTE_LEVEL = 350, + /** GetTierTokenReroll */ + MODIFIER_PROPERTY_TIER_TOKEN_REROLL = 351, + /** GetVisionDegreeRestriction */ + MODIFIER_PROPERTY_VISION_DEGREES_RESTRICTION = 352, + /** GetModifierTotal_ConstantBlockStacking */ + MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_STACKING = 353, + /** GetModifierInventorySlotRestricted */ + MODIFIER_PROPERTY_INVENTORY_SLOT_RESTRICTED = 354, + /** OnTierTokenRerolled */ + MODIFIER_EVENT_ON_TIER_TOKEN_REROLLED = 355, + /** GetRedirectSpell */ + MODIFIER_PROPERTY_REDIRECT_SPELL = 356, + /** GetBaseAttackPostBonus */ + MODIFIER_PROPERTY_BASEATTACK_POSTBONUS = 357, + /** OnFoWTeamChanged */ + MODIFIER_EVENT_ON_FOW_TEAM_CHANGED = 358, + /** GetSuppressAttackProcs */ + MODIFIER_PROPERTY_SUPPRESS_ATTACK_PROCS = 359, + /** OnAbilityToggled */ + MODIFIER_EVENT_ON_ABILITY_TOGGLED = 360, + /** GetModifierAvoidAttackProcs */ + MODIFIER_PROPERTY_AVOID_ATTACK_PROCS = 361, + /** OnRuneSpawn */ + MODIFIER_EVENT_ON_RUNE_SPAWN = 362, + /** GetModifierProperty_PhysicalLifesteal */ + MODIFIER_PROPERTY_PHYSICAL_LIFESTEAL = 363, + /** GetModifierProperty_MagicalLifesteal */ + MODIFIER_PROPERTY_MAGICAL_LIFESTEAL = 364, + /** OnPureDamageCalculated */ + MODIFIER_EVENT_ON_PURE_DAMAGE_CALCULATED = 365, + /** GetModifierNeutralTrinketOptions */ + MODIFIER_EVENT_NEUTRAL_TRINKET_OPTIONS = 366, + /** GetModifierNeutralEnhancementOptions */ + MODIFIER_EVENT_NEUTRAL_ENHANCEMENT_OPTIONS = 367, + /** GetModifierMoveSpeedMax_BonusConstant */ + MODIFIER_PROPERTY_MOVESPEED_MAX_BONUS_CONSTANT = 368, + /** GetModifierMoveSpeedPostMultiplierBonus_Constant */ + MODIFIER_PROPERTY_MOVESPEED_POST_MULTIPLIER_BONUS_CONSTANT = 369, + MODIFIER_FUNCTION_LAST = 370, + MODIFIER_FUNCTION_INVALID = 65535, +} + +declare enum modifierstate +{ + MODIFIER_STATE_ROOTED = 0, + MODIFIER_STATE_DISARMED = 1, + MODIFIER_STATE_ATTACK_IMMUNE = 2, + MODIFIER_STATE_SILENCED = 3, + MODIFIER_STATE_MUTED = 4, + MODIFIER_STATE_STUNNED = 5, + MODIFIER_STATE_HEXED = 6, + MODIFIER_STATE_INVISIBLE = 7, + MODIFIER_STATE_INVULNERABLE = 8, + MODIFIER_STATE_MAGIC_IMMUNE = 9, + MODIFIER_STATE_PROVIDES_VISION = 10, + MODIFIER_STATE_NIGHTMARED = 11, + MODIFIER_STATE_BLOCK_DISABLED = 12, + MODIFIER_STATE_EVADE_DISABLED = 13, + MODIFIER_STATE_UNSELECTABLE = 14, + MODIFIER_STATE_CANNOT_TARGET_ENEMIES = 15, + MODIFIER_STATE_CANNOT_TARGET_BUILDINGS = 16, + MODIFIER_STATE_CANNOT_MISS = 17, + MODIFIER_STATE_SPECIALLY_DENIABLE = 18, + MODIFIER_STATE_FROZEN = 19, + MODIFIER_STATE_COMMAND_RESTRICTED = 20, + MODIFIER_STATE_NOT_ON_MINIMAP = 21, + MODIFIER_STATE_LOW_ATTACK_PRIORITY = 22, + MODIFIER_STATE_NO_HEALTH_BAR = 23, + MODIFIER_STATE_NO_HEALTH_BAR_FOR_ENEMIES = 24, + MODIFIER_STATE_NO_HEALTH_BAR_FOR_OTHER_PLAYERS = 25, + MODIFIER_STATE_FLYING = 26, + MODIFIER_STATE_NO_UNIT_COLLISION = 27, + MODIFIER_STATE_NO_TEAM_MOVE_TO = 28, + MODIFIER_STATE_NO_TEAM_SELECT = 29, + MODIFIER_STATE_PASSIVES_DISABLED = 30, + MODIFIER_STATE_DOMINATED = 31, + MODIFIER_STATE_BLIND = 32, + MODIFIER_STATE_OUT_OF_GAME = 33, + MODIFIER_STATE_FAKE_ALLY = 34, + MODIFIER_STATE_FLYING_FOR_PATHING_PURPOSES_ONLY = 35, + MODIFIER_STATE_TRUESIGHT_IMMUNE = 36, + MODIFIER_STATE_UNTARGETABLE = 37, + MODIFIER_STATE_UNTARGETABLE_ALLIED = 38, + MODIFIER_STATE_UNTARGETABLE_ENEMY = 39, + MODIFIER_STATE_UNTARGETABLE_SELF = 40, + MODIFIER_STATE_IGNORING_MOVE_AND_ATTACK_ORDERS = 41, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_TREES = 42, + MODIFIER_STATE_NOT_ON_MINIMAP_FOR_ENEMIES = 43, + MODIFIER_STATE_UNSLOWABLE = 44, + MODIFIER_STATE_TETHERED = 45, + MODIFIER_STATE_IGNORING_STOP_ORDERS = 46, + MODIFIER_STATE_FEARED = 47, + MODIFIER_STATE_TAUNTED = 48, + MODIFIER_STATE_CANNOT_BE_MOTION_CONTROLLED = 49, + MODIFIER_STATE_FORCED_FLYING_VISION = 50, + MODIFIER_STATE_ATTACK_ALLIES = 51, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_CLIFFS = 52, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_FISSURE = 53, + MODIFIER_STATE_SPECIALLY_UNDENIABLE = 54, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_OBSTRUCTIONS = 55, + MODIFIER_STATE_DEBUFF_IMMUNE = 56, + MODIFIER_STATE_ALLOW_PATHING_THROUGH_BASE_BLOCKER = 57, + MODIFIER_STATE_IGNORING_MOVE_ORDERS = 58, + MODIFIER_STATE_ATTACKS_ARE_MELEE = 59, + MODIFIER_STATE_CAN_USE_BACKPACK_ITEMS = 60, + MODIFIER_STATE_CASTS_IGNORE_CHANNELING = 61, + MODIFIER_STATE_ATTACKS_DONT_REVEAL = 62, + MODIFIER_STATE_NEUTRALS_DONT_ATTACK = 63, + MODIFIER_STATE_LAST = 64, +} + +declare enum DOTAModifierAttribute_t +{ + MODIFIER_ATTRIBUTE_NONE = 0, + MODIFIER_ATTRIBUTE_PERMANENT = 1, + MODIFIER_ATTRIBUTE_MULTIPLE = 2, + MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE = 4, + MODIFIER_ATTRIBUTE_AURA_PRIORITY = 8, + MODIFIER_ATTRIBUTE_IGNORE_DODGE = 16, +} + +declare enum Attributes +{ + DOTA_ATTRIBUTE_STRENGTH = 0, + DOTA_ATTRIBUTE_AGILITY = 1, + DOTA_ATTRIBUTE_INTELLECT = 2, + DOTA_ATTRIBUTE_ALL = 3, + DOTA_ATTRIBUTE_MAX = 4, + DOTA_ATTRIBUTE_INVALID = -1, +} + +declare enum ParticleAttachment_t +{ + PATTACH_INVALID = -1, + PATTACH_ABSORIGIN = 0, + PATTACH_ABSORIGIN_FOLLOW = 1, + PATTACH_CUSTOMORIGIN = 2, + PATTACH_CUSTOMORIGIN_FOLLOW = 3, + PATTACH_POINT = 4, + PATTACH_POINT_FOLLOW = 5, + PATTACH_EYES_FOLLOW = 6, + PATTACH_OVERHEAD_FOLLOW = 7, + PATTACH_WORLDORIGIN = 8, + PATTACH_ROOTBONE_FOLLOW = 9, + PATTACH_RENDERORIGIN_FOLLOW = 10, + PATTACH_MAIN_VIEW = 11, + PATTACH_WATERWAKE = 12, + PATTACH_CENTER_FOLLOW = 13, + PATTACH_CUSTOM_GAME_STATE_1 = 14, + PATTACH_HEALTHBAR = 15, + MAX_PATTACH_TYPES = 16, +} + +declare enum DOTA_MOTION_CONTROLLER_PRIORITY +{ + DOTA_MOTION_CONTROLLER_PRIORITY_LOWEST = 0, + DOTA_MOTION_CONTROLLER_PRIORITY_LOW = 1, + DOTA_MOTION_CONTROLLER_PRIORITY_MEDIUM = 2, + DOTA_MOTION_CONTROLLER_PRIORITY_HIGH = 3, + DOTA_MOTION_CONTROLLER_PRIORITY_HIGHEST = 4, + DOTA_MOTION_CONTROLLER_PRIORITY_ULTRA = 5, +} + +declare enum DOTASpeechType_t +{ + DOTA_SPEECH_USER_INVALID = 0, + DOTA_SPEECH_USER_SINGLE = 1, + DOTA_SPEECH_USER_TEAM = 2, + DOTA_SPEECH_USER_TEAM_NEARBY = 3, + DOTA_SPEECH_USER_NEARBY = 4, + DOTA_SPEECH_USER_ALL = 5, + DOTA_SPEECH_GOOD_TEAM = 6, + DOTA_SPEECH_BAD_TEAM = 7, + DOTA_SPEECH_SPECTATOR = 8, + DOTA_SPEECH_USER_TEAM_NOSPECTATOR = 9, + DOTA_SPEECH_RECIPIENT_TYPE_MAX = 10, +} + +declare enum DOTAAbilitySpeakTrigger_t +{ + DOTA_ABILITY_SPEAK_START_ACTION_PHASE = 0, + DOTA_ABILITY_SPEAK_CAST = 1, +} + +declare enum DotaCustomUIType_t +{ + DOTA_CUSTOM_UI_TYPE_HUD = 0, + DOTA_CUSTOM_UI_TYPE_HERO_SELECTION = 1, + DOTA_CUSTOM_UI_TYPE_PREGAME_STRATEGY = 2, + DOTA_CUSTOM_UI_TYPE_GAME_INFO = 3, + DOTA_CUSTOM_UI_TYPE_GAME_SETUP = 4, + DOTA_CUSTOM_UI_TYPE_FLYOUT_SCOREBOARD = 5, + DOTA_CUSTOM_UI_TYPE_HUD_TOP_BAR = 6, + DOTA_CUSTOM_UI_TYPE_END_SCREEN = 7, + DOTA_CUSTOM_UI_TYPE_COUNT = 8, + DOTA_CUSTOM_UI_TYPE_INVALID = -1, +} + +declare enum DotaDefaultUIElement_t +{ + DOTA_DEFAULT_UI_INVALID = -1, + DOTA_DEFAULT_UI_TOP_TIMEOFDAY = 0, + DOTA_DEFAULT_UI_TOP_HEROES = 1, + DOTA_DEFAULT_UI_FLYOUT_SCOREBOARD = 2, + DOTA_DEFAULT_UI_ACTION_PANEL = 3, + DOTA_DEFAULT_UI_ACTION_MINIMAP = 4, + DOTA_DEFAULT_UI_INVENTORY_PANEL = 5, + DOTA_DEFAULT_UI_INVENTORY_SHOP = 6, + DOTA_DEFAULT_UI_INVENTORY_ITEMS = 7, + DOTA_DEFAULT_UI_INVENTORY_QUICKBUY = 8, + DOTA_DEFAULT_UI_INVENTORY_COURIER = 9, + DOTA_DEFAULT_UI_INVENTORY_PROTECT = 10, + DOTA_DEFAULT_UI_INVENTORY_GOLD = 11, + DOTA_DEFAULT_UI_SHOP_SUGGESTEDITEMS = 12, + DOTA_DEFAULT_UI_SHOP_COMMONITEMS = 13, + DOTA_DEFAULT_UI_HERO_SELECTION_TEAMS = 14, + DOTA_DEFAULT_UI_HERO_SELECTION_GAME_NAME = 15, + DOTA_DEFAULT_UI_HERO_SELECTION_CLOCK = 16, + DOTA_DEFAULT_UI_HERO_SELECTION_HEADER = 17, + DOTA_DEFAULT_UI_TOP_MENU_BUTTONS = 18, + DOTA_DEFAULT_UI_TOP_BAR_BACKGROUND = 19, + DOTA_DEFAULT_UI_TOP_BAR_RADIANT_TEAM = 20, + DOTA_DEFAULT_UI_TOP_BAR_DIRE_TEAM = 21, + DOTA_DEFAULT_UI_TOP_BAR_SCORE = 22, + DOTA_DEFAULT_UI_ENDGAME = 23, + DOTA_DEFAULT_UI_ENDGAME_CHAT = 24, + DOTA_DEFAULT_UI_QUICK_STATS = 25, + DOTA_DEFAULT_UI_PREGAME_STRATEGYUI = 26, + DOTA_DEFAULT_UI_KILLCAM = 27, + DOTA_DEFAULT_UI_FIGHT_RECAP = 28, + DOTA_DEFAULT_UI_TOP_BAR = 29, + DOTA_DEFAULT_UI_CUSTOMUI_BEHIND_HUD_ELEMENTS = 30, + DOTA_DEFAULT_UI_AGHANIMS_STATUS = 31, + DOTA_DEFAULT_UI_ELEMENT_COUNT = 32, +} + +declare enum PlayerUltimateStateOrTime_t +{ + PLAYER_ULTIMATE_STATE_READY = 0, + PLAYER_ULTIMATE_STATE_NO_MANA = -1, + PLAYER_ULTIMATE_STATE_NOT_LEVELED = -2, + PLAYER_ULTIMATE_STATE_HIDDEN = -3, +} + +declare enum PlayerOrderIssuer_t +{ + DOTA_ORDER_ISSUER_SELECTED_UNITS = 0, + DOTA_ORDER_ISSUER_CURRENT_UNIT_ONLY = 1, + DOTA_ORDER_ISSUER_HERO_ONLY = 2, + DOTA_ORDER_ISSUER_PASSED_UNIT_ONLY = 3, +} + +declare enum OrderQueueBehavior_t +{ + DOTA_ORDER_QUEUE_DEFAULT = 0, + DOTA_ORDER_QUEUE_NEVER = 1, + DOTA_ORDER_QUEUE_ALWAYS = 2, +} + +declare enum CLICK_BEHAVIORS +{ + DOTA_CLICK_BEHAVIOR_NONE = 0, + DOTA_CLICK_BEHAVIOR_MOVE = 1, + DOTA_CLICK_BEHAVIOR_ATTACK = 2, + DOTA_CLICK_BEHAVIOR_CAST = 3, + DOTA_CLICK_BEHAVIOR_DROP_ITEM = 4, + DOTA_CLICK_BEHAVIOR_DROP_SHOP_ITEM = 5, + DOTA_CLICK_BEHAVIOR_DRAG = 6, + DOTA_CLICK_BEHAVIOR_LEARN_ABILITY = 7, + DOTA_CLICK_BEHAVIOR_PATROL = 8, + DOTA_CLICK_BEHAVIOR_VECTOR_CAST = 9, + DOTA_CLICK_BEHAVIOR_UNUSED = 10, + DOTA_CLICK_BEHAVIOR_RADAR = 11, + DOTA_CLICK_BEHAVIOR_LAST = 12, +} + +declare enum AbilityLearnResult_t +{ + ABILITY_CAN_BE_UPGRADED = 0, + ABILITY_CANNOT_BE_UPGRADED_NOT_UPGRADABLE = 1, + ABILITY_CANNOT_BE_UPGRADED_AT_MAX = 2, + ABILITY_CANNOT_BE_UPGRADED_REQUIRES_LEVEL = 3, + ABILITY_NOT_LEARNABLE = 4, +} + +declare enum DOTAKeybindCommand_t +{ + DOTA_KEYBIND_NONE = 0, + DOTA_KEYBIND_FIRST = 1, + DOTA_KEYBIND_CAMERA_UP = 1, + DOTA_KEYBIND_CAMERA_DOWN = 2, + DOTA_KEYBIND_CAMERA_LEFT = 3, + DOTA_KEYBIND_CAMERA_RIGHT = 4, + DOTA_KEYBIND_CAMERA_GRIP = 5, + DOTA_KEYBIND_CAMERA_YAW_GRIP = 6, + DOTA_KEYBIND_CAMERA_SAVED_POSITION_1 = 7, + DOTA_KEYBIND_CAMERA_SAVED_POSITION_2 = 8, + DOTA_KEYBIND_CAMERA_SAVED_POSITION_3 = 9, + DOTA_KEYBIND_CAMERA_SAVED_POSITION_4 = 10, + DOTA_KEYBIND_CAMERA_SAVED_POSITION_5 = 11, + DOTA_KEYBIND_CAMERA_SAVED_POSITION_6 = 12, + DOTA_KEYBIND_CAMERA_SAVED_POSITION_7 = 13, + DOTA_KEYBIND_CAMERA_SAVED_POSITION_8 = 14, + DOTA_KEYBIND_CAMERA_SAVED_POSITION_9 = 15, + DOTA_KEYBIND_CAMERA_SAVED_POSITION_10 = 16, + DOTA_KEYBIND_HERO_ATTACK = 17, + DOTA_KEYBIND_HERO_MOVE = 18, + DOTA_KEYBIND_HERO_MOVE_DIRECTION = 19, + DOTA_KEYBIND_PATROL = 20, + DOTA_KEYBIND_HERO_STOP = 21, + DOTA_KEYBIND_HERO_HOLD = 22, + DOTA_KEYBIND_HERO_SELECT = 23, + DOTA_KEYBIND_COURIER_SELECT = 24, + DOTA_KEYBIND_COURIER_DELIVER = 25, + DOTA_KEYBIND_COURIER_BURST = 26, + DOTA_KEYBIND_COURIER_SHIELD = 27, + DOTA_KEYBIND_PAUSE = 28, + DOTA_SELECT_ALL = 29, + DOTA_SELECT_ALL_OTHERS = 30, + DOTA_RECENT_EVENT = 31, + DOTA_KEYBIND_CHAT_TEAM = 32, + DOTA_KEYBIND_CHAT_GLOBAL = 33, + DOTA_KEYBIND_CHAT_TEAM2 = 34, + DOTA_KEYBIND_CHAT_GLOBAL2 = 35, + DOTA_KEYBIND_CHAT_VOICE_PARTY = 36, + DOTA_KEYBIND_CHAT_VOICE_TEAM = 37, + DOTA_KEYBIND_CHAT_WHEEL = 38, + DOTA_KEYBIND_CHAT_WHEEL2 = 39, + DOTA_KEYBIND_CHAT_WHEEL_CARE = 40, + DOTA_KEYBIND_CHAT_WHEEL_BACK = 41, + DOTA_KEYBIND_CHAT_WHEEL_NEED_WARDS = 42, + DOTA_KEYBIND_CHAT_WHEEL_STUN = 43, + DOTA_KEYBIND_CHAT_WHEEL_HELP = 44, + DOTA_KEYBIND_CHAT_WHEEL_GET_PUSH = 45, + DOTA_KEYBIND_CHAT_WHEEL_GOOD_JOB = 46, + DOTA_KEYBIND_CHAT_WHEEL_MISSING = 47, + DOTA_KEYBIND_CHAT_WHEEL_MISSING_TOP = 48, + DOTA_KEYBIND_CHAT_WHEEL_MISSING_MIDDLE = 49, + DOTA_KEYBIND_CHAT_WHEEL_MISSING_BOTTOM = 50, + DOTA_KEYBIND_HERO_CHAT_WHEEL = 51, + DOTA_KEYBIND_SPRAY_WHEEL = 52, + DOTA_KEYBIND_ABILITY_PRIMARY1 = 53, + DOTA_KEYBIND_ABILITY_PRIMARY2 = 54, + DOTA_KEYBIND_ABILITY_PRIMARY3 = 55, + DOTA_KEYBIND_ABILITY_SECONDARY1 = 56, + DOTA_KEYBIND_ABILITY_SECONDARY2 = 57, + DOTA_KEYBIND_ABILITY_ULTIMATE = 58, + DOTA_KEYBIND_TALENT_UPGRADE_LEFT = 59, + DOTA_KEYBIND_TALENT_UPGRADE_RIGHT = 60, + DOTA_KEYBIND_TALENT_UPGRADE_ATTRIBUTE = 61, + DOTA_KEYBIND_ABILITY_PRIMARY1_QUICKCAST = 62, + DOTA_KEYBIND_ABILITY_PRIMARY2_QUICKCAST = 63, + DOTA_KEYBIND_ABILITY_PRIMARY3_QUICKCAST = 64, + DOTA_KEYBIND_ABILITY_SECONDARY1_QUICKCAST = 65, + DOTA_KEYBIND_ABILITY_SECONDARY2_QUICKCAST = 66, + DOTA_KEYBIND_ABILITY_ULTIMATE_QUICKCAST = 67, + DOTA_KEYBIND_ABILITY_PRIMARY1_EXPLICIT_AUTOCAST = 68, + DOTA_KEYBIND_ABILITY_PRIMARY2_EXPLICIT_AUTOCAST = 69, + DOTA_KEYBIND_ABILITY_PRIMARY3_EXPLICIT_AUTOCAST = 70, + DOTA_KEYBIND_ABILITY_SECONDARY1_EXPLICIT_AUTOCAST = 71, + DOTA_KEYBIND_ABILITY_SECONDARY2_EXPLICIT_AUTOCAST = 72, + DOTA_KEYBIND_ABILITY_ULTIMATE_EXPLICIT_AUTOCAST = 73, + DOTA_KEYBIND_ABILITY_PRIMARY1_QUICKCAST_AUTOCAST = 74, + DOTA_KEYBIND_ABILITY_PRIMARY2_QUICKCAST_AUTOCAST = 75, + DOTA_KEYBIND_ABILITY_PRIMARY3_QUICKCAST_AUTOCAST = 76, + DOTA_KEYBIND_ABILITY_SECONDARY1_QUICKCAST_AUTOCAST = 77, + DOTA_KEYBIND_ABILITY_SECONDARY2_QUICKCAST_AUTOCAST = 78, + DOTA_KEYBIND_ABILITY_ULTIMATE_QUICKCAST_AUTOCAST = 79, + DOTA_KEYBIND_ABILITY_PRIMARY1_AUTOMATIC_AUTOCAST = 80, + DOTA_KEYBIND_ABILITY_PRIMARY2_AUTOMATIC_AUTOCAST = 81, + DOTA_KEYBIND_ABILITY_PRIMARY3_AUTOMATIC_AUTOCAST = 82, + DOTA_KEYBIND_ABILITY_SECONDARY1_AUTOMATIC_AUTOCAST = 83, + DOTA_KEYBIND_ABILITY_SECONDARY2_AUTOMATIC_AUTOCAST = 84, + DOTA_KEYBIND_ABILITY_ULTIMATE_AUTOMATIC_AUTOCAST = 85, + DOTA_KEYBIND_INVENTORY1 = 86, + DOTA_KEYBIND_INVENTORY2 = 87, + DOTA_KEYBIND_INVENTORY3 = 88, + DOTA_KEYBIND_INVENTORY4 = 89, + DOTA_KEYBIND_INVENTORY5 = 90, + DOTA_KEYBIND_INVENTORY6 = 91, + DOTA_KEYBIND_INVENTORYTP = 92, + DOTA_KEYBIND_INVENTORYNEUTRAL = 93, + DOTA_KEYBIND_INVENTORY1_QUICKCAST = 94, + DOTA_KEYBIND_INVENTORY2_QUICKCAST = 95, + DOTA_KEYBIND_INVENTORY3_QUICKCAST = 96, + DOTA_KEYBIND_INVENTORY4_QUICKCAST = 97, + DOTA_KEYBIND_INVENTORY5_QUICKCAST = 98, + DOTA_KEYBIND_INVENTORY6_QUICKCAST = 99, + DOTA_KEYBIND_INVENTORYTP_QUICKCAST = 100, + DOTA_KEYBIND_INVENTORYNEUTRAL_QUICKCAST = 101, + DOTA_KEYBIND_INVENTORY1_AUTOCAST = 102, + DOTA_KEYBIND_INVENTORY2_AUTOCAST = 103, + DOTA_KEYBIND_INVENTORY3_AUTOCAST = 104, + DOTA_KEYBIND_INVENTORY4_AUTOCAST = 105, + DOTA_KEYBIND_INVENTORY5_AUTOCAST = 106, + DOTA_KEYBIND_INVENTORY6_AUTOCAST = 107, + DOTA_KEYBIND_INVENTORYTP_AUTOCAST = 108, + DOTA_KEYBIND_INVENTORYNEUTRAL_AUTOCAST = 109, + DOTA_KEYBIND_INVENTORY1_QUICKAUTOCAST = 110, + DOTA_KEYBIND_INVENTORY2_QUICKAUTOCAST = 111, + DOTA_KEYBIND_INVENTORY3_QUICKAUTOCAST = 112, + DOTA_KEYBIND_INVENTORY4_QUICKAUTOCAST = 113, + DOTA_KEYBIND_INVENTORY5_QUICKAUTOCAST = 114, + DOTA_KEYBIND_INVENTORY6_QUICKAUTOCAST = 115, + DOTA_KEYBIND_INVENTORYTP_QUICKAUTOCAST = 116, + DOTA_KEYBIND_INVENTORYNEUTRAL_QUICKAUTOCAST = 117, + DOTA_KEYBIND_CONTROL_GROUP1 = 118, + DOTA_KEYBIND_CONTROL_GROUP2 = 119, + DOTA_KEYBIND_CONTROL_GROUP3 = 120, + DOTA_KEYBIND_CONTROL_GROUP4 = 121, + DOTA_KEYBIND_CONTROL_GROUP5 = 122, + DOTA_KEYBIND_CONTROL_GROUP6 = 123, + DOTA_KEYBIND_CONTROL_GROUP7 = 124, + DOTA_KEYBIND_CONTROL_GROUP8 = 125, + DOTA_KEYBIND_CONTROL_GROUP9 = 126, + DOTA_KEYBIND_CONTROL_GROUP10 = 127, + DOTA_KEYBIND_CONTROL_GROUPCYCLE = 128, + DOTA_KEYBIND_SELECT_ALLY1 = 129, + DOTA_KEYBIND_SELECT_ALLY2 = 130, + DOTA_KEYBIND_SELECT_ALLY3 = 131, + DOTA_KEYBIND_SELECT_ALLY4 = 132, + DOTA_KEYBIND_SELECT_ALLY5 = 133, + DOTA_KEYBIND_SHOP_TOGGLE = 134, + DOTA_KEYBIND_SCOREBOARD_TOGGLE = 135, + DOTA_KEYBIND_COMBATLOG_TOGGLE = 136, + DOTA_KEYBIND_SCREENSHOT = 137, + DOTA_KEYBIND_ESCAPE = 138, + DOTA_KEYBIND_CONSOLE = 139, + DOTA_KEYBIND_DEATH_SUMMARY = 140, + DOTA_KEYBIND_LEARN_ABILITIES = 141, + DOTA_KEYBIND_LEARN_STATS = 142, + DOTA_KEYBIND_ACTIVATE_GLYPH = 143, + DOTA_KEYBIND_ACTIVATE_RADAR = 144, + DOTA_KEYBIND_PURCHASE_QUICKBUY = 145, + DOTA_KEYBIND_PURCHASE_STICKY = 146, + DOTA_KEYBIND_GRAB_STASH_ITEMS = 147, + DOTA_KEYBIND_TOGGLE_AUTOATTACK = 148, + DOTA_KEYBIND_TOGGLE_OVERLAYMAP = 149, + DOTA_KEYBIND_OVERLAYMAP_INPUTKEY = 150, + DOTA_KEYBIND_FILTER_ENEMY = 151, + DOTA_KEYBIND_FILTER_ALLY = 152, + DOTA_KEYBIND_FILTER_HERO = 153, + DOTA_KEYBIND_FILTER_NONHERO = 154, + DOTA_KEYBIND_TAUNT = 155, + DOTA_KEYBIND_SHOP_CONSUMABLES = 156, + DOTA_KEYBIND_SHOP_ATTRIBUTES = 157, + DOTA_KEYBIND_SHOP_ARMAMENTS = 158, + DOTA_KEYBIND_SHOP_ARCANE = 159, + DOTA_KEYBIND_SHOP_BASICS = 160, + DOTA_KEYBIND_SHOP_SUPPORT = 161, + DOTA_KEYBIND_SHOP_CASTER = 162, + DOTA_KEYBIND_SHOP_WEAPONS = 163, + DOTA_KEYBIND_SHOP_ARMOR = 164, + DOTA_KEYBIND_SHOP_ARTIFACTS = 165, + DOTA_KEYBIND_SHOP_SIDE_PAGE_1 = 166, + DOTA_KEYBIND_SHOP_SIDE_PAGE_2 = 167, + DOTA_KEYBIND_SHOP_SECRET = 168, + DOTA_KEYBIND_SHOP_SEARCHBOX = 169, + DOTA_KEYBIND_SHOP_SLOT_1 = 170, + DOTA_KEYBIND_SHOP_SLOT_2 = 171, + DOTA_KEYBIND_SHOP_SLOT_3 = 172, + DOTA_KEYBIND_SHOP_SLOT_4 = 173, + DOTA_KEYBIND_SHOP_SLOT_5 = 174, + DOTA_KEYBIND_SHOP_SLOT_6 = 175, + DOTA_KEYBIND_SHOP_SLOT_7 = 176, + DOTA_KEYBIND_SHOP_SLOT_8 = 177, + DOTA_KEYBIND_SHOP_SLOT_9 = 178, + DOTA_KEYBIND_SHOP_SLOT_10 = 179, + DOTA_KEYBIND_SHOP_SLOT_11 = 180, + DOTA_KEYBIND_SHOP_SLOT_12 = 181, + DOTA_KEYBIND_SHOP_SLOT_13 = 182, + DOTA_KEYBIND_SHOP_SLOT_14 = 183, + DOTA_KEYBIND_SPEC_CAMERA_UP = 184, + DOTA_KEYBIND_SPEC_CAMERA_DOWN = 185, + DOTA_KEYBIND_SPEC_CAMERA_LEFT = 186, + DOTA_KEYBIND_SPEC_CAMERA_RIGHT = 187, + DOTA_KEYBIND_SPEC_CAMERA_GRIP = 188, + DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_1 = 189, + DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_2 = 190, + DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_3 = 191, + DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_4 = 192, + DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_5 = 193, + DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_6 = 194, + DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_7 = 195, + DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_8 = 196, + DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_9 = 197, + DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_10 = 198, + DOTA_KEYBIND_SPEC_UNIT_SELECT = 199, + DOTA_KEYBIND_SPEC_HERO_SELECT = 200, + DOTA_KEYBIND_SPEC_PAUSE = 201, + DOTA_KEYBIND_SPEC_CHAT = 202, + DOTA_KEYBIND_SPEC_SCOREBOARD = 203, + DOTA_KEYBIND_SPEC_INCREASE_REPLAY_SPEED = 204, + DOTA_KEYBIND_SPEC_DECREASE_REPLAY_SPEED = 205, + DOTA_KEYBIND_SPEC_STATS_ITEM = 206, + DOTA_KEYBIND_SPEC_STATS_GOLD = 207, + DOTA_KEYBIND_SPEC_STATS_XP = 208, + DOTA_KEYBIND_SPEC_STATS_FANTASY = 209, + DOTA_KEYBIND_SPEC_STATS_WINCHANCE = 210, + DOTA_KEYBIND_SPEC_FOW_TOGGLEBOTH = 211, + DOTA_KEYBIND_SPEC_FOW_TOGGLERADIENT = 212, + DOTA_KEYBIND_SPEC_FOW_TOGGLEDIRE = 213, + DOTA_KEYBIND_SPEC_OPEN_BROADCASTER_MENU = 214, + DOTA_KEYBIND_SPEC_DROPDOWN_KDA = 215, + DOTA_KEYBIND_SPEC_DROPDOWN_LASTHITS_DENIES = 216, + DOTA_KEYBIND_SPEC_DROPDOWN_LEVEL = 217, + DOTA_KEYBIND_SPEC_DROPDOWN_XP_PER_MIN = 218, + DOTA_KEYBIND_SPEC_DROPDOWN_GOLD = 219, + DOTA_KEYBIND_SPEC_DROPDOWN_TOTALGOLD = 220, + DOTA_KEYBIND_SPEC_DROPDOWN_GOLD_PER_MIN = 221, + DOTA_KEYBIND_SPEC_DROPDOWN_BUYBACK = 222, + DOTA_KEYBIND_SPEC_DROPDOWN_NETWORTH = 223, + DOTA_KEYBIND_SPEC_DROPDOWN_FANTASY = 224, + DOTA_KEYBIND_SPEC_DROPDOWN_SORT = 225, + DOTA_KEYBIND_SPEC_DROPDOWN_CLOSE = 226, + DOTA_KEYBIND_SPEC_FOCUS_PLAYER_1 = 227, + DOTA_KEYBIND_SPEC_FOCUS_PLAYER_2 = 228, + DOTA_KEYBIND_SPEC_FOCUS_PLAYER_3 = 229, + DOTA_KEYBIND_SPEC_FOCUS_PLAYER_4 = 230, + DOTA_KEYBIND_SPEC_FOCUS_PLAYER_5 = 231, + DOTA_KEYBIND_SPEC_FOCUS_PLAYER_6 = 232, + DOTA_KEYBIND_SPEC_FOCUS_PLAYER_7 = 233, + DOTA_KEYBIND_SPEC_FOCUS_PLAYER_8 = 234, + DOTA_KEYBIND_SPEC_FOCUS_PLAYER_9 = 235, + DOTA_KEYBIND_SPEC_FOCUS_PLAYER_10 = 236, + DOTA_KEYBIND_SPEC_COACH_VIEWTOGGLE = 237, + DOTA_KEYBIND_INSPECTHEROINWORLD = 238, + DOTA_KEYBIND_CAMERA_ZOOM_IN = 239, + DOTA_KEYBIND_CAMERA_ZOOM_OUT = 240, + DOTA_KEYBIND_CONTROL_GROUPCYCLEPREV = 241, + DOTA_KEYBIND_DOTA_ALT = 242, + DOTA_KEYBIND_DOTA_ALTERNATIVE_CAST_SWITCH = 243, + DOTA_KEYBIND_COUNT = 244, +} + +declare enum DOTA_SHOP_TYPE +{ + DOTA_SHOP_HOME = 0, + DOTA_SHOP_SIDE = 1, + DOTA_SHOP_SECRET = 2, + DOTA_SHOP_GROUND = 3, + DOTA_SHOP_SIDE2 = 4, + DOTA_SHOP_SECRET2 = 5, + DOTA_SHOP_CUSTOM = 6, + DOTA_SHOP_NEUTRALS = 7, + DOTA_SHOP_NONE = 8, +} diff --git a/files/panorama/enums.d.ts b/files/panorama/enums.d.ts index 48c2eac..4fda14f 100644 --- a/files/panorama/enums.d.ts +++ b/files/panorama/enums.d.ts @@ -1,7 +1,20 @@ declare namespace enums { + export type Declaration = Constant | Enum; + export type Availability = 'client' | 'both'; + + export interface Constant { + kind: 'constant'; + name: string; + description?: string; + value: number; + available: Availability; + } + export interface Enum { + kind: 'enum'; name: string; - // description?: string; + description?: string; + available: Availability; members: EnumMember[]; } @@ -12,5 +25,5 @@ declare namespace enums { } } -declare const enums: enums.Enum[]; +declare const enums: enums.Declaration[]; export = enums; diff --git a/files/panorama/enums.json b/files/panorama/enums.json index afac428..f36f234 100644 --- a/files/panorama/enums.json +++ b/files/panorama/enums.json @@ -1,299 +1,386 @@ [ { - "name": "SteamUGCQuery", + "kind": "enum", + "name": "ABILITY_TYPES", + "available": "both", "members": [ { - "name": "RankedByVote", + "name": "ABILITY_TYPE_BASIC", "value": 0 }, { - "name": "RankedByPublicationDate", + "name": "ABILITY_TYPE_ULTIMATE", "value": 1 }, { - "name": "AcceptedForGameRankedByAcceptanceDate", + "name": "ABILITY_TYPE_ATTRIBUTES", "value": 2 }, { - "name": "RankedByTrend", + "name": "ABILITY_TYPE_HIDDEN", "value": 3 - }, - { - "name": "FavoritedByFriendsRankedByPublicationDate", - "value": 4 - }, - { - "name": "CreatedByFriendsRankedByPublicationDate", - "value": 5 - }, - { - "name": "RankedByNumTimesReported", - "value": 6 - }, - { - "name": "CreatedByFollowedUsersRankedByPublicationDate", - "value": 7 - }, + } + ] + }, + { + "kind": "enum", + "name": "AbilityLearnResult_t", + "available": "both", + "members": [ { - "name": "NotYetRated", - "value": 8 + "name": "ABILITY_CAN_BE_UPGRADED", + "value": 0 }, { - "name": "RankedByTotalVotesAsc", - "value": 9 + "name": "ABILITY_CANNOT_BE_UPGRADED_NOT_UPGRADABLE", + "value": 1 }, { - "name": "RankedByVotesUp", - "value": 10 + "name": "ABILITY_CANNOT_BE_UPGRADED_AT_MAX", + "value": 2 }, { - "name": "RankedByTextSearch", - "value": 11 + "name": "ABILITY_CANNOT_BE_UPGRADED_REQUIRES_LEVEL", + "value": 3 }, { - "name": "RankedByTotalUniqueSubscriptions", - "value": 12 - }, + "name": "ABILITY_NOT_LEARNABLE", + "value": 4 + } + ] + }, + { + "kind": "enum", + "name": "Attributes", + "available": "both", + "members": [ { - "name": "RankedByPlaytimeTrend", - "value": 13 + "name": "DOTA_ATTRIBUTE_STRENGTH", + "value": 0 }, { - "name": "RankedByTotalPlaytime", - "value": 14 + "name": "DOTA_ATTRIBUTE_AGILITY", + "value": 1 }, { - "name": "RankedByAveragePlaytimeTrend", - "value": 15 + "name": "DOTA_ATTRIBUTE_INTELLECT", + "value": 2 }, { - "name": "RankedByLifetimeAveragePlaytime", - "value": 16 + "name": "DOTA_ATTRIBUTE_ALL", + "value": 3 }, { - "name": "RankedByPlaytimeSessionsTrend", - "value": 17 + "name": "DOTA_ATTRIBUTE_MAX", + "value": 4 }, { - "name": "RankedByLifetimePlaytimeSessions", - "value": 18 + "name": "DOTA_ATTRIBUTE_INVALID", + "value": -1 } ] }, { - "name": "SteamUGCMatchingUGCType", + "kind": "enum", + "name": "CLICK_BEHAVIORS", + "available": "both", "members": [ { - "name": "Items", + "name": "DOTA_CLICK_BEHAVIOR_NONE", "value": 0 }, { - "name": "Items_Mtx", + "name": "DOTA_CLICK_BEHAVIOR_MOVE", "value": 1 }, { - "name": "Items_ReadyToUse", + "name": "DOTA_CLICK_BEHAVIOR_ATTACK", "value": 2 }, { - "name": "Collections", + "name": "DOTA_CLICK_BEHAVIOR_CAST", "value": 3 }, { - "name": "Artwork", + "name": "DOTA_CLICK_BEHAVIOR_DROP_ITEM", "value": 4 }, { - "name": "Videos", + "name": "DOTA_CLICK_BEHAVIOR_DROP_SHOP_ITEM", "value": 5 }, { - "name": "Screenshots", + "name": "DOTA_CLICK_BEHAVIOR_DRAG", "value": 6 }, { - "name": "AllGuides", + "name": "DOTA_CLICK_BEHAVIOR_LEARN_ABILITY", "value": 7 }, { - "name": "WebGuides", + "name": "DOTA_CLICK_BEHAVIOR_PATROL", "value": 8 }, { - "name": "IntegratedGuides", + "name": "DOTA_CLICK_BEHAVIOR_VECTOR_CAST", "value": 9 }, { - "name": "UsableInGame", + "name": "DOTA_CLICK_BEHAVIOR_UNUSED", "value": 10 }, { - "name": "ControllerBindings", + "name": "DOTA_CLICK_BEHAVIOR_RADAR", "value": 11 }, { - "name": "GameManagedItems", + "name": "DOTA_CLICK_BEHAVIOR_LAST", "value": 12 - }, - { - "name": "All", - "value": -1 } ] }, { - "name": "SteamUniverse", + "kind": "enum", + "name": "DAMAGE_TYPES", + "available": "both", "members": [ { - "name": "Invalid", + "name": "DAMAGE_TYPE_NONE", "value": 0 }, { - "name": "Internal", - "value": 3 + "name": "DAMAGE_TYPE_PHYSICAL", + "value": 1 }, { - "name": "Dev", + "name": "DAMAGE_TYPE_MAGICAL", + "value": 2 + }, + { + "name": "DAMAGE_TYPE_PURE", "value": 4 }, { - "name": "Beta", - "value": 2 + "name": "DAMAGE_TYPE_HP_REMOVAL", + "value": 8 }, { - "name": "Public", - "value": 1 + "name": "DAMAGE_TYPE_ABILITY_DEFINED", + "value": 22 + }, + { + "name": "DAMAGE_TYPE_ALL", + "value": 7 } ] }, { - "name": "DOTA_GameState", + "kind": "enum", + "name": "DOTA_ABILITY_BEHAVIOR", + "available": "both", "members": [ { - "name": "DOTA_GAMERULES_STATE_INIT", + "name": "DOTA_ABILITY_BEHAVIOR_NONE", "value": 0 }, { - "name": "DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD", + "name": "DOTA_ABILITY_BEHAVIOR_HIDDEN", "value": 1 }, { - "name": "DOTA_GAMERULES_STATE_HERO_SELECTION", - "value": 4 + "name": "DOTA_ABILITY_BEHAVIOR_PASSIVE", + "value": 2 }, { - "name": "DOTA_GAMERULES_STATE_STRATEGY_TIME", - "value": 5 + "name": "DOTA_ABILITY_BEHAVIOR_NO_TARGET", + "value": 4 }, { - "name": "DOTA_GAMERULES_STATE_PRE_GAME", + "name": "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET", "value": 8 }, { - "name": "DOTA_GAMERULES_STATE_GAME_IN_PROGRESS", - "value": 10 + "name": "DOTA_ABILITY_BEHAVIOR_POINT", + "value": 16 }, { - "name": "DOTA_GAMERULES_STATE_POST_GAME", - "value": 11 + "name": "DOTA_ABILITY_BEHAVIOR_AOE", + "value": 32 }, { - "name": "DOTA_GAMERULES_STATE_DISCONNECT", - "value": 12 + "name": "DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE", + "value": 64 }, { - "name": "DOTA_GAMERULES_STATE_TEAM_SHOWCASE", - "value": 6 + "name": "DOTA_ABILITY_BEHAVIOR_CHANNELLED", + "value": 128 }, { - "name": "DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP", - "value": 2 + "name": "DOTA_ABILITY_BEHAVIOR_ITEM", + "value": 256 }, { - "name": "DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD", - "value": 7 + "name": "DOTA_ABILITY_BEHAVIOR_TOGGLE", + "value": 512 }, { - "name": "DOTA_GAMERULES_STATE_SCENARIO_SETUP", - "value": 9 + "name": "DOTA_ABILITY_BEHAVIOR_DIRECTIONAL", + "value": 1024 }, { - "name": "DOTA_GAMERULES_STATE_PLAYER_DRAFT", - "value": 3 + "name": "DOTA_ABILITY_BEHAVIOR_IMMEDIATE", + "value": 2048 }, { - "name": "DOTA_GAMERULES_STATE_LAST", - "value": 0 - } - ] - }, - { - "name": "DOTA_GC_TEAM", - "members": [ - { - "name": "DOTA_GC_TEAM_GOOD_GUYS", - "value": 0 + "name": "DOTA_ABILITY_BEHAVIOR_AUTOCAST", + "value": 4096 }, { - "name": "DOTA_GC_TEAM_BAD_GUYS", - "value": 1 + "name": "DOTA_ABILITY_BEHAVIOR_OPTIONAL_UNIT_TARGET", + "value": 8192 }, { - "name": "DOTA_GC_TEAM_BROADCASTER", - "value": 2 + "name": "DOTA_ABILITY_BEHAVIOR_OPTIONAL_POINT", + "value": 16384 }, { - "name": "DOTA_GC_TEAM_SPECTATOR", - "value": 3 + "name": "DOTA_ABILITY_BEHAVIOR_OPTIONAL_NO_TARGET", + "value": 32768 }, { - "name": "DOTA_GC_TEAM_PLAYER_POOL", - "value": 4 + "name": "DOTA_ABILITY_BEHAVIOR_AURA", + "value": 65536 }, { - "name": "DOTA_GC_TEAM_NOTEAM", - "value": 5 + "name": "DOTA_ABILITY_BEHAVIOR_ATTACK", + "value": 131072 }, { - "name": "DOTA_GC_TEAM_CUSTOM_1", - "value": 6 + "name": "DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT", + "value": 262144 }, { - "name": "DOTA_GC_TEAM_CUSTOM_2", - "value": 7 + "name": "DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES", + "value": 524288 }, { - "name": "DOTA_GC_TEAM_CUSTOM_3", - "value": 8 + "name": "DOTA_ABILITY_BEHAVIOR_UNRESTRICTED", + "value": 1048576 }, { - "name": "DOTA_GC_TEAM_CUSTOM_4", - "value": 9 + "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_PSEUDO_QUEUE", + "value": 2097152 }, { - "name": "DOTA_GC_TEAM_CUSTOM_5", - "value": 10 + "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL", + "value": 4194304 }, { - "name": "DOTA_GC_TEAM_CUSTOM_6", - "value": 11 + "name": "DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_MOVEMENT", + "value": 8388608 }, { - "name": "DOTA_GC_TEAM_CUSTOM_7", - "value": 12 + "name": "DOTA_ABILITY_BEHAVIOR_DONT_ALERT_TARGET", + "value": 16777216 }, { - "name": "DOTA_GC_TEAM_CUSTOM_8", - "value": 13 + "name": "DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK", + "value": 33554432 }, { - "name": "DOTA_GC_TEAM_NEUTRALS", - "value": 14 + "name": "DOTA_ABILITY_BEHAVIOR_NORMAL_WHEN_STOLEN", + "value": 67108864 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING", + "value": 134217728 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_RUNE_TARGET", + "value": 268435456 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_CHANNEL", + "value": 536870912 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_VECTOR_TARGETING", + "value": 1073741824 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_LAST_RESORT_POINT", + "value": 2147483648 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_CAN_SELF_CAST", + "value": 4294967296 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_SHOW_IN_GUIDES", + "value": 8589934592 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_UNLOCKED_BY_EFFECT_INDEX", + "value": 17179869184 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_SUPPRESS_ASSOCIATED_CONSUMABLE", + "value": 34359738368 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_FREE_DRAW_TARGETING", + "value": 68719476736 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_SILENCE", + "value": 137438953472 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_OVERSHOOT", + "value": 274877906944 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_MUTED", + "value": 549755813888 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_ALT_CASTABLE", + "value": 1099511627776 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_SKIP_FOR_KEYBINDS", + "value": 4398046511104 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_INNATE_UI", + "value": 8796093022208 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_UNSWAPPABLE", + "value": 17592186044416 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_DONT_PROC_OTHER_ABILITIES", + "value": 35184372088832 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_INVISIBLE", + "value": 70368744177664 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_AFFECTED_BY_MUTE", + "value": 140737488355328 + }, + { + "name": "DOTA_ABILITY_BEHAVIOR_IS_FAKE_ITEM", + "value": 281474976710656 } ] }, { + "kind": "enum", "name": "DOTA_GameMode", + "available": "both", "members": [ { "name": "DOTA_GAMEMODE_NONE", @@ -402,217 +489,429 @@ ] }, { - "name": "DOTAConnectionState_t", + "kind": "enum", + "name": "DOTA_GameState", + "available": "both", "members": [ { - "name": "DOTA_CONNECTION_STATE_UNKNOWN", + "name": "DOTA_GAMERULES_STATE_INIT", "value": 0 }, { - "name": "DOTA_CONNECTION_STATE_NOT_YET_CONNECTED", + "name": "DOTA_GAMERULES_STATE_WAIT_FOR_PLAYERS_TO_LOAD", "value": 1 }, { - "name": "DOTA_CONNECTION_STATE_CONNECTED", + "name": "DOTA_GAMERULES_STATE_HERO_SELECTION", + "value": 4 + }, + { + "name": "DOTA_GAMERULES_STATE_STRATEGY_TIME", + "value": 5 + }, + { + "name": "DOTA_GAMERULES_STATE_PRE_GAME", + "value": 8 + }, + { + "name": "DOTA_GAMERULES_STATE_GAME_IN_PROGRESS", + "value": 10 + }, + { + "name": "DOTA_GAMERULES_STATE_POST_GAME", + "value": 11 + }, + { + "name": "DOTA_GAMERULES_STATE_DISCONNECT", + "value": 12 + }, + { + "name": "DOTA_GAMERULES_STATE_TEAM_SHOWCASE", + "value": 6 + }, + { + "name": "DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP", "value": 2 }, { - "name": "DOTA_CONNECTION_STATE_DISCONNECTED", + "name": "DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD", + "value": 7 + }, + { + "name": "DOTA_GAMERULES_STATE_SCENARIO_SETUP", + "value": 9 + }, + { + "name": "DOTA_GAMERULES_STATE_PLAYER_DRAFT", "value": 3 }, { - "name": "DOTA_CONNECTION_STATE_ABANDONED", + "name": "DOTA_GAMERULES_STATE_LAST", + "value": 0 + } + ] + }, + { + "kind": "enum", + "name": "DOTA_GC_TEAM", + "available": "both", + "members": [ + { + "name": "DOTA_GC_TEAM_GOOD_GUYS", + "value": 0 + }, + { + "name": "DOTA_GC_TEAM_BAD_GUYS", + "value": 1 + }, + { + "name": "DOTA_GC_TEAM_BROADCASTER", + "value": 2 + }, + { + "name": "DOTA_GC_TEAM_SPECTATOR", + "value": 3 + }, + { + "name": "DOTA_GC_TEAM_PLAYER_POOL", "value": 4 }, { - "name": "DOTA_CONNECTION_STATE_LOADING", + "name": "DOTA_GC_TEAM_NOTEAM", "value": 5 }, { - "name": "DOTA_CONNECTION_STATE_FAILED", + "name": "DOTA_GC_TEAM_CUSTOM_1", "value": 6 + }, + { + "name": "DOTA_GC_TEAM_CUSTOM_2", + "value": 7 + }, + { + "name": "DOTA_GC_TEAM_CUSTOM_3", + "value": 8 + }, + { + "name": "DOTA_GC_TEAM_CUSTOM_4", + "value": 9 + }, + { + "name": "DOTA_GC_TEAM_CUSTOM_5", + "value": 10 + }, + { + "name": "DOTA_GC_TEAM_CUSTOM_6", + "value": 11 + }, + { + "name": "DOTA_GC_TEAM_CUSTOM_7", + "value": 12 + }, + { + "name": "DOTA_GC_TEAM_CUSTOM_8", + "value": 13 + }, + { + "name": "DOTA_GC_TEAM_NEUTRALS", + "value": 14 } ] }, { - "name": "dotaunitorder_t", + "kind": "enum", + "name": "DOTA_HeroPickState", + "available": "both", "members": [ { - "name": "DOTA_UNIT_ORDER_NONE", + "name": "DOTA_HEROPICK_STATE_NONE", "value": 0 }, { - "name": "DOTA_UNIT_ORDER_MOVE_TO_POSITION", + "name": "DOTA_HEROPICK_STATE_AP_SELECT", "value": 1 }, { - "name": "DOTA_UNIT_ORDER_MOVE_TO_TARGET", + "name": "DOTA_HEROPICK_STATE_SD_SELECT", "value": 2 }, { - "name": "DOTA_UNIT_ORDER_ATTACK_MOVE", + "name": "DOTA_HEROPICK_STATE_INTRO_SELECT_UNUSED", "value": 3 }, { - "name": "DOTA_UNIT_ORDER_ATTACK_TARGET", + "name": "DOTA_HEROPICK_STATE_RD_SELECT_UNUSED", "value": 4 }, { - "name": "DOTA_UNIT_ORDER_CAST_POSITION", + "name": "DOTA_HEROPICK_STATE_CM_INTRO", "value": 5 }, { - "name": "DOTA_UNIT_ORDER_CAST_TARGET", + "name": "DOTA_HEROPICK_STATE_CM_CAPTAINPICK", "value": 6 }, { - "name": "DOTA_UNIT_ORDER_CAST_TARGET_TREE", + "name": "DOTA_HEROPICK_STATE_CM_BAN1", "value": 7 }, { - "name": "DOTA_UNIT_ORDER_CAST_NO_TARGET", + "name": "DOTA_HEROPICK_STATE_CM_BAN2", "value": 8 }, { - "name": "DOTA_UNIT_ORDER_CAST_TOGGLE", + "name": "DOTA_HEROPICK_STATE_CM_BAN3", "value": 9 }, { - "name": "DOTA_UNIT_ORDER_HOLD_POSITION", + "name": "DOTA_HEROPICK_STATE_CM_BAN4", "value": 10 }, { - "name": "DOTA_UNIT_ORDER_TRAIN_ABILITY", + "name": "DOTA_HEROPICK_STATE_CM_BAN5", "value": 11 }, { - "name": "DOTA_UNIT_ORDER_DROP_ITEM", + "name": "DOTA_HEROPICK_STATE_CM_BAN6", "value": 12 }, { - "name": "DOTA_UNIT_ORDER_GIVE_ITEM", + "name": "DOTA_HEROPICK_STATE_CM_BAN7", "value": 13 }, { - "name": "DOTA_UNIT_ORDER_PICKUP_ITEM", + "name": "DOTA_HEROPICK_STATE_CM_BAN8", "value": 14 }, { - "name": "DOTA_UNIT_ORDER_PICKUP_RUNE", + "name": "DOTA_HEROPICK_STATE_CM_BAN9", "value": 15 }, { - "name": "DOTA_UNIT_ORDER_PURCHASE_ITEM", + "name": "DOTA_HEROPICK_STATE_CM_BAN10", "value": 16 }, { - "name": "DOTA_UNIT_ORDER_SELL_ITEM", + "name": "DOTA_HEROPICK_STATE_CM_BAN11", "value": 17 }, { - "name": "DOTA_UNIT_ORDER_DISASSEMBLE_ITEM", + "name": "DOTA_HEROPICK_STATE_CM_BAN12", "value": 18 }, { - "name": "DOTA_UNIT_ORDER_MOVE_ITEM", + "name": "DOTA_HEROPICK_STATE_CM_BAN13", "value": 19 }, { - "name": "DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO", + "name": "DOTA_HEROPICK_STATE_CM_BAN14", "value": 20 }, { - "name": "DOTA_UNIT_ORDER_STOP", + "name": "DOTA_HEROPICK_STATE_CM_SELECT1", "value": 21 }, { - "name": "DOTA_UNIT_ORDER_TAUNT", + "name": "DOTA_HEROPICK_STATE_CM_SELECT2", "value": 22 }, { - "name": "DOTA_UNIT_ORDER_BUYBACK", + "name": "DOTA_HEROPICK_STATE_CM_SELECT3", "value": 23 }, { - "name": "DOTA_UNIT_ORDER_GLYPH", + "name": "DOTA_HEROPICK_STATE_CM_SELECT4", "value": 24 }, { - "name": "DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH", + "name": "DOTA_HEROPICK_STATE_CM_SELECT5", "value": 25 }, { - "name": "DOTA_UNIT_ORDER_CAST_RUNE", + "name": "DOTA_HEROPICK_STATE_CM_SELECT6", "value": 26 }, { - "name": "DOTA_UNIT_ORDER_PING_ABILITY", + "name": "DOTA_HEROPICK_STATE_CM_SELECT7", "value": 27 }, { - "name": "DOTA_UNIT_ORDER_MOVE_TO_DIRECTION", + "name": "DOTA_HEROPICK_STATE_CM_SELECT8", "value": 28 }, { - "name": "DOTA_UNIT_ORDER_PATROL", + "name": "DOTA_HEROPICK_STATE_CM_SELECT9", "value": 29 }, { - "name": "DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION", + "name": "DOTA_HEROPICK_STATE_CM_SELECT10", "value": 30 }, { - "name": "DOTA_UNIT_ORDER_RADAR", + "name": "DOTA_HEROPICK_STATE_CM_PICK", "value": 31 }, { - "name": "DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK", + "name": "DOTA_HEROPICK_STATE_AR_SELECT", "value": 32 }, { - "name": "DOTA_UNIT_ORDER_CONTINUE", + "name": "DOTA_HEROPICK_STATE_MO_SELECT", "value": 33 }, { - "name": "DOTA_UNIT_ORDER_VECTOR_TARGET_CANCELED", + "name": "DOTA_HEROPICK_STATE_FH_SELECT", "value": 34 }, { - "name": "DOTA_UNIT_ORDER_CAST_RIVER_PAINT", + "name": "DOTA_HEROPICK_STATE_CD_INTRO", "value": 35 }, { - "name": "DOTA_UNIT_ORDER_PREGAME_ADJUST_ITEM_ASSIGNMENT", + "name": "DOTA_HEROPICK_STATE_CD_CAPTAINPICK", "value": 36 }, { - "name": "DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN", + "name": "DOTA_HEROPICK_STATE_CD_BAN1", "value": 37 }, { - "name": "DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH", + "name": "DOTA_HEROPICK_STATE_CD_BAN2", "value": 38 }, { - "name": "DOTA_UNIT_ORDER_MOVE_RELATIVE", + "name": "DOTA_HEROPICK_STATE_CD_BAN3", "value": 39 }, { - "name": "DOTA_UNIT_ORDER_CAST_TOGGLE_ALT", + "name": "DOTA_HEROPICK_STATE_CD_BAN4", "value": 40 }, { - "name": "DOTA_UNIT_ORDER_CONSUME_ITEM", + "name": "DOTA_HEROPICK_STATE_CD_BAN5", "value": 41 }, { - "name": "DOTA_UNIT_ORDER_SET_ITEM_MARK_FOR_SELL", + "name": "DOTA_HEROPICK_STATE_CD_BAN6", "value": 42 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_SELECT1", + "value": 43 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_SELECT2", + "value": 44 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_SELECT3", + "value": 45 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_SELECT4", + "value": 46 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_SELECT5", + "value": 47 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_SELECT6", + "value": 48 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_SELECT7", + "value": 49 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_SELECT8", + "value": 50 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_SELECT9", + "value": 51 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_SELECT10", + "value": 52 + }, + { + "name": "DOTA_HEROPICK_STATE_CD_PICK", + "value": 53 + }, + { + "name": "DOTA_HEROPICK_STATE_BD_SELECT", + "value": 54 + }, + { + "name": "DOTA_HERO_PICK_STATE_ABILITY_DRAFT_SELECT", + "value": 55 + }, + { + "name": "DOTA_HERO_PICK_STATE_ARDM_SELECT", + "value": 56 + }, + { + "name": "DOTA_HEROPICK_STATE_ALL_DRAFT_SELECT", + "value": 57 + }, + { + "name": "DOTA_HERO_PICK_STATE_CUSTOMGAME_SELECT", + "value": 58 + }, + { + "name": "DOTA_HEROPICK_STATE_SELECT_PENALTY", + "value": 59 + }, + { + "name": "DOTA_HEROPICK_STATE_CUSTOM_PICK_RULES", + "value": 60 + }, + { + "name": "DOTA_HEROPICK_STATE_SCENARIO_PICK", + "value": 61 + }, + { + "name": "DOTA_HEROPICK_STATE_COUNT", + "value": 62 + } + ] + }, + { + "kind": "enum", + "name": "DOTA_MOTION_CONTROLLER_PRIORITY", + "available": "both", + "members": [ + { + "name": "DOTA_MOTION_CONTROLLER_PRIORITY_LOWEST", + "value": 0 + }, + { + "name": "DOTA_MOTION_CONTROLLER_PRIORITY_LOW", + "value": 1 + }, + { + "name": "DOTA_MOTION_CONTROLLER_PRIORITY_MEDIUM", + "value": 2 + }, + { + "name": "DOTA_MOTION_CONTROLLER_PRIORITY_HIGH", + "value": 3 + }, + { + "name": "DOTA_MOTION_CONTROLLER_PRIORITY_HIGHEST", + "value": 4 + }, + { + "name": "DOTA_MOTION_CONTROLLER_PRIORITY_ULTRA", + "value": 5 } ] }, { + "kind": "enum", "name": "DOTA_OVERHEAD_ALERT", + "available": "both", "members": [ { "name": "OVERHEAD_ALERT_GOLD", @@ -721,614 +1020,615 @@ ] }, { - "name": "DOTA_HeroPickState", + "kind": "enum", + "name": "DOTA_RUNES", + "available": "both", "members": [ { - "name": "DOTA_HEROPICK_STATE_NONE", + "name": "DOTA_RUNE_INVALID", + "value": -1 + }, + { + "name": "DOTA_RUNE_DOUBLEDAMAGE", "value": 0 }, { - "name": "DOTA_HEROPICK_STATE_AP_SELECT", + "name": "DOTA_RUNE_HASTE", "value": 1 }, { - "name": "DOTA_HEROPICK_STATE_SD_SELECT", + "name": "DOTA_RUNE_ILLUSION", "value": 2 }, { - "name": "DOTA_HEROPICK_STATE_INTRO_SELECT_UNUSED", + "name": "DOTA_RUNE_INVISIBILITY", "value": 3 }, { - "name": "DOTA_HEROPICK_STATE_RD_SELECT_UNUSED", + "name": "DOTA_RUNE_REGENERATION", "value": 4 }, { - "name": "DOTA_HEROPICK_STATE_CM_INTRO", + "name": "DOTA_RUNE_BOUNTY", "value": 5 }, { - "name": "DOTA_HEROPICK_STATE_CM_CAPTAINPICK", + "name": "DOTA_RUNE_ARCANE", "value": 6 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN1", + "name": "DOTA_RUNE_WATER", "value": 7 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN2", + "name": "DOTA_RUNE_XP", "value": 8 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN3", + "name": "DOTA_RUNE_SHIELD", "value": 9 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN4", + "name": "DOTA_RUNE_COUNT", "value": 10 - }, + } + ] + }, + { + "kind": "enum", + "name": "DOTA_SHOP_TYPE", + "available": "both", + "members": [ { - "name": "DOTA_HEROPICK_STATE_CM_BAN5", - "value": 11 + "name": "DOTA_SHOP_HOME", + "value": 0 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN6", - "value": 12 + "name": "DOTA_SHOP_SIDE", + "value": 1 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN7", - "value": 13 + "name": "DOTA_SHOP_SECRET", + "value": 2 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN8", - "value": 14 + "name": "DOTA_SHOP_GROUND", + "value": 3 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN9", - "value": 15 + "name": "DOTA_SHOP_SIDE2", + "value": 4 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN10", - "value": 16 + "name": "DOTA_SHOP_SECRET2", + "value": 5 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN11", - "value": 17 + "name": "DOTA_SHOP_CUSTOM", + "value": 6 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN12", - "value": 18 + "name": "DOTA_SHOP_NEUTRALS", + "value": 7 }, { - "name": "DOTA_HEROPICK_STATE_CM_BAN13", - "value": 19 - }, + "name": "DOTA_SHOP_NONE", + "value": 8 + } + ] + }, + { + "kind": "enum", + "name": "DOTA_UNIT_TARGET_FLAGS", + "available": "both", + "members": [ { - "name": "DOTA_HEROPICK_STATE_CM_BAN14", - "value": 20 + "name": "DOTA_UNIT_TARGET_FLAG_NONE", + "value": 0 }, { - "name": "DOTA_HEROPICK_STATE_CM_SELECT1", - "value": 21 + "name": "DOTA_UNIT_TARGET_FLAG_RANGED_ONLY", + "value": 2 }, { - "name": "DOTA_HEROPICK_STATE_CM_SELECT2", - "value": 22 + "name": "DOTA_UNIT_TARGET_FLAG_MELEE_ONLY", + "value": 4 }, { - "name": "DOTA_HEROPICK_STATE_CM_SELECT3", - "value": 23 + "name": "DOTA_UNIT_TARGET_FLAG_DEAD", + "value": 8 }, { - "name": "DOTA_HEROPICK_STATE_CM_SELECT4", - "value": 24 + "name": "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES", + "value": 16 }, { - "name": "DOTA_HEROPICK_STATE_CM_SELECT5", - "value": 25 + "name": "DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES", + "value": 32 }, { - "name": "DOTA_HEROPICK_STATE_CM_SELECT6", - "value": 26 + "name": "DOTA_UNIT_TARGET_FLAG_INVULNERABLE", + "value": 64 }, { - "name": "DOTA_HEROPICK_STATE_CM_SELECT7", - "value": 27 + "name": "DOTA_UNIT_TARGET_FLAG_FOW_VISIBLE", + "value": 128 }, { - "name": "DOTA_HEROPICK_STATE_CM_SELECT8", - "value": 28 + "name": "DOTA_UNIT_TARGET_FLAG_NO_INVIS", + "value": 256 }, { - "name": "DOTA_HEROPICK_STATE_CM_SELECT9", - "value": 29 + "name": "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS", + "value": 512 }, { - "name": "DOTA_HEROPICK_STATE_CM_SELECT10", - "value": 30 - }, - { - "name": "DOTA_HEROPICK_STATE_CM_PICK", - "value": 31 + "name": "DOTA_UNIT_TARGET_FLAG_PLAYER_CONTROLLED", + "value": 1024 }, { - "name": "DOTA_HEROPICK_STATE_AR_SELECT", - "value": 32 + "name": "DOTA_UNIT_TARGET_FLAG_NOT_DOMINATED", + "value": 2048 }, { - "name": "DOTA_HEROPICK_STATE_MO_SELECT", - "value": 33 + "name": "DOTA_UNIT_TARGET_FLAG_NOT_SUMMONED", + "value": 4096 }, { - "name": "DOTA_HEROPICK_STATE_FH_SELECT", - "value": 34 + "name": "DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS", + "value": 8192 }, { - "name": "DOTA_HEROPICK_STATE_CD_INTRO", - "value": 35 + "name": "DOTA_UNIT_TARGET_FLAG_NOT_ATTACK_IMMUNE", + "value": 16384 }, { - "name": "DOTA_HEROPICK_STATE_CD_CAPTAINPICK", - "value": 36 + "name": "DOTA_UNIT_TARGET_FLAG_MANA_ONLY", + "value": 32768 }, { - "name": "DOTA_HEROPICK_STATE_CD_BAN1", - "value": 37 + "name": "DOTA_UNIT_TARGET_FLAG_CHECK_DISABLE_HELP", + "value": 65536 }, { - "name": "DOTA_HEROPICK_STATE_CD_BAN2", - "value": 38 + "name": "DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO", + "value": 131072 }, { - "name": "DOTA_HEROPICK_STATE_CD_BAN3", - "value": 39 + "name": "DOTA_UNIT_TARGET_FLAG_OUT_OF_WORLD", + "value": 262144 }, { - "name": "DOTA_HEROPICK_STATE_CD_BAN4", - "value": 40 + "name": "DOTA_UNIT_TARGET_FLAG_NOT_NIGHTMARED", + "value": 524288 }, { - "name": "DOTA_HEROPICK_STATE_CD_BAN5", - "value": 41 + "name": "DOTA_UNIT_TARGET_FLAG_PREFER_ENEMIES", + "value": 1048576 }, { - "name": "DOTA_HEROPICK_STATE_CD_BAN6", - "value": 42 + "name": "DOTA_UNIT_TARGET_FLAG_RESPECT_OBSTRUCTIONS", + "value": 2097152 }, { - "name": "DOTA_HEROPICK_STATE_CD_SELECT1", - "value": 43 - }, + "name": "DOTA_UNIT_TARGET_FLAG_CAN_BE_SEEN", + "value": 384 + } + ] + }, + { + "kind": "enum", + "name": "DOTA_UNIT_TARGET_TEAM", + "available": "both", + "members": [ { - "name": "DOTA_HEROPICK_STATE_CD_SELECT2", - "value": 44 + "name": "DOTA_UNIT_TARGET_TEAM_NONE", + "value": 0 }, { - "name": "DOTA_HEROPICK_STATE_CD_SELECT3", - "value": 45 + "name": "DOTA_UNIT_TARGET_TEAM_FRIENDLY", + "value": 1 }, { - "name": "DOTA_HEROPICK_STATE_CD_SELECT4", - "value": 46 + "name": "DOTA_UNIT_TARGET_TEAM_ENEMY", + "value": 2 }, { - "name": "DOTA_HEROPICK_STATE_CD_SELECT5", - "value": 47 + "name": "DOTA_UNIT_TARGET_TEAM_CUSTOM", + "value": 4 }, { - "name": "DOTA_HEROPICK_STATE_CD_SELECT6", - "value": 48 - }, + "name": "DOTA_UNIT_TARGET_TEAM_BOTH", + "value": 3 + } + ] + }, + { + "kind": "enum", + "name": "DOTA_UNIT_TARGET_TYPE", + "available": "both", + "members": [ { - "name": "DOTA_HEROPICK_STATE_CD_SELECT7", - "value": 49 + "name": "DOTA_UNIT_TARGET_NONE", + "value": 0 }, { - "name": "DOTA_HEROPICK_STATE_CD_SELECT8", - "value": 50 + "name": "DOTA_UNIT_TARGET_HERO", + "value": 1 }, { - "name": "DOTA_HEROPICK_STATE_CD_SELECT9", - "value": 51 + "name": "DOTA_UNIT_TARGET_CREEP", + "value": 2 }, { - "name": "DOTA_HEROPICK_STATE_CD_SELECT10", - "value": 52 + "name": "DOTA_UNIT_TARGET_BUILDING", + "value": 4 }, { - "name": "DOTA_HEROPICK_STATE_CD_PICK", - "value": 53 + "name": "DOTA_UNIT_TARGET_COURIER", + "value": 16 }, { - "name": "DOTA_HEROPICK_STATE_BD_SELECT", - "value": 54 + "name": "DOTA_UNIT_TARGET_OTHER", + "value": 32 }, { - "name": "DOTA_HERO_PICK_STATE_ABILITY_DRAFT_SELECT", - "value": 55 + "name": "DOTA_UNIT_TARGET_TREE", + "value": 64 }, { - "name": "DOTA_HERO_PICK_STATE_ARDM_SELECT", - "value": 56 + "name": "DOTA_UNIT_TARGET_CUSTOM", + "value": 128 }, { - "name": "DOTA_HEROPICK_STATE_ALL_DRAFT_SELECT", - "value": 57 + "name": "DOTA_UNIT_TARGET_SELF", + "value": 256 }, { - "name": "DOTA_HERO_PICK_STATE_CUSTOMGAME_SELECT", - "value": 58 + "name": "DOTA_UNIT_TARGET_BASIC", + "value": 18 }, { - "name": "DOTA_HEROPICK_STATE_SELECT_PENALTY", - "value": 59 + "name": "DOTA_UNIT_TARGET_ALL", + "value": 55 }, { - "name": "DOTA_HEROPICK_STATE_CUSTOM_PICK_RULES", - "value": 60 - }, + "name": "DOTA_UNIT_TARGET_HEROES_AND_CREEPS", + "value": 19 + } + ] + }, + { + "kind": "enum", + "name": "DOTAAbilitySpeakTrigger_t", + "available": "both", + "members": [ { - "name": "DOTA_HEROPICK_STATE_SCENARIO_PICK", - "value": 61 + "name": "DOTA_ABILITY_SPEAK_START_ACTION_PHASE", + "value": 0 }, { - "name": "DOTA_HEROPICK_STATE_COUNT", - "value": 62 + "name": "DOTA_ABILITY_SPEAK_CAST", + "value": 1 } ] }, { - "name": "DOTATeam_t", + "kind": "enum", + "name": "DOTAConnectionState_t", + "available": "both", "members": [ { - "name": "DOTA_TEAM_FIRST", - "value": 2 + "name": "DOTA_CONNECTION_STATE_UNKNOWN", + "value": 0 }, { - "name": "DOTA_TEAM_GOODGUYS", + "name": "DOTA_CONNECTION_STATE_NOT_YET_CONNECTED", + "value": 1 + }, + { + "name": "DOTA_CONNECTION_STATE_CONNECTED", "value": 2 }, { - "name": "DOTA_TEAM_BADGUYS", + "name": "DOTA_CONNECTION_STATE_DISCONNECTED", "value": 3 }, { - "name": "DOTA_TEAM_NEUTRALS", + "name": "DOTA_CONNECTION_STATE_ABANDONED", "value": 4 }, { - "name": "DOTA_TEAM_NOTEAM", + "name": "DOTA_CONNECTION_STATE_LOADING", "value": 5 }, { - "name": "DOTA_TEAM_CUSTOM_1", - "value": 6 - }, - { - "name": "DOTA_TEAM_CUSTOM_2", - "value": 7 - }, - { - "name": "DOTA_TEAM_CUSTOM_3", - "value": 8 - }, - { - "name": "DOTA_TEAM_CUSTOM_4", - "value": 9 - }, - { - "name": "DOTA_TEAM_CUSTOM_5", - "value": 10 - }, - { - "name": "DOTA_TEAM_CUSTOM_6", - "value": 11 - }, - { - "name": "DOTA_TEAM_CUSTOM_7", - "value": 12 - }, - { - "name": "DOTA_TEAM_CUSTOM_8", - "value": 13 - }, - { - "name": "DOTA_TEAM_DRAFT_POOL", - "value": 14 - }, - { - "name": "DOTA_TEAM_COUNT", - "value": 15 - }, - { - "name": "DOTA_TEAM_CUSTOM_MIN", + "name": "DOTA_CONNECTION_STATE_FAILED", "value": 6 - }, - { - "name": "DOTA_TEAM_CUSTOM_MAX", - "value": 13 - }, - { - "name": "DOTA_TEAM_CUSTOM_COUNT", - "value": 8 } ] }, { - "name": "DOTA_RUNES", + "kind": "enum", + "name": "DotaCustomUIType_t", + "available": "both", "members": [ { - "name": "DOTA_RUNE_INVALID", - "value": -1 - }, - { - "name": "DOTA_RUNE_DOUBLEDAMAGE", + "name": "DOTA_CUSTOM_UI_TYPE_HUD", "value": 0 }, { - "name": "DOTA_RUNE_HASTE", + "name": "DOTA_CUSTOM_UI_TYPE_HERO_SELECTION", "value": 1 }, { - "name": "DOTA_RUNE_ILLUSION", + "name": "DOTA_CUSTOM_UI_TYPE_PREGAME_STRATEGY", "value": 2 }, { - "name": "DOTA_RUNE_INVISIBILITY", + "name": "DOTA_CUSTOM_UI_TYPE_GAME_INFO", "value": 3 }, { - "name": "DOTA_RUNE_REGENERATION", + "name": "DOTA_CUSTOM_UI_TYPE_GAME_SETUP", "value": 4 }, { - "name": "DOTA_RUNE_BOUNTY", + "name": "DOTA_CUSTOM_UI_TYPE_FLYOUT_SCOREBOARD", "value": 5 }, { - "name": "DOTA_RUNE_ARCANE", + "name": "DOTA_CUSTOM_UI_TYPE_HUD_TOP_BAR", "value": 6 }, { - "name": "DOTA_RUNE_WATER", + "name": "DOTA_CUSTOM_UI_TYPE_END_SCREEN", "value": 7 }, { - "name": "DOTA_RUNE_XP", + "name": "DOTA_CUSTOM_UI_TYPE_COUNT", "value": 8 }, { - "name": "DOTA_RUNE_SHIELD", - "value": 9 - }, - { - "name": "DOTA_RUNE_COUNT", - "value": 10 + "name": "DOTA_CUSTOM_UI_TYPE_INVALID", + "value": -1 } ] }, { - "name": "DOTA_UNIT_TARGET_TEAM", + "kind": "enum", + "name": "DOTADamageFlag_t", + "available": "both", "members": [ { - "name": "DOTA_UNIT_TARGET_TEAM_NONE", + "name": "DOTA_DAMAGE_FLAG_NONE", "value": 0 }, { - "name": "DOTA_UNIT_TARGET_TEAM_FRIENDLY", + "name": "DOTA_DAMAGE_FLAG_IGNORES_MAGIC_ARMOR", "value": 1 }, { - "name": "DOTA_UNIT_TARGET_TEAM_ENEMY", + "name": "DOTA_DAMAGE_FLAG_IGNORES_PHYSICAL_ARMOR", "value": 2 }, { - "name": "DOTA_UNIT_TARGET_TEAM_CUSTOM", + "name": "DOTA_DAMAGE_FLAG_BYPASSES_INVULNERABILITY", "value": 4 }, { - "name": "DOTA_UNIT_TARGET_TEAM_BOTH", - "value": 3 - } - ] - }, - { - "name": "DOTA_UNIT_TARGET_TYPE", - "members": [ + "name": "DOTA_DAMAGE_FLAG_BYPASSES_PHYSICAL_BLOCK", + "value": 8 + }, { - "name": "DOTA_UNIT_TARGET_NONE", - "value": 0 + "name": "DOTA_DAMAGE_FLAG_REFLECTION", + "value": 16 }, { - "name": "DOTA_UNIT_TARGET_HERO", - "value": 1 + "name": "DOTA_DAMAGE_FLAG_HPLOSS", + "value": 32 }, { - "name": "DOTA_UNIT_TARGET_CREEP", - "value": 2 + "name": "DOTA_DAMAGE_FLAG_NO_DIRECTOR_EVENT", + "value": 64 }, { - "name": "DOTA_UNIT_TARGET_BUILDING", - "value": 4 + "name": "DOTA_DAMAGE_FLAG_NON_LETHAL", + "value": 128 }, { - "name": "DOTA_UNIT_TARGET_COURIER", - "value": 16 + "name": "DOTA_DAMAGE_FLAG_NO_DAMAGE_MULTIPLIERS", + "value": 512 }, { - "name": "DOTA_UNIT_TARGET_OTHER", - "value": 32 + "name": "DOTA_DAMAGE_FLAG_NO_SPELL_AMPLIFICATION", + "value": 1024 }, { - "name": "DOTA_UNIT_TARGET_TREE", - "value": 64 + "name": "DOTA_DAMAGE_FLAG_DONT_DISPLAY_DAMAGE_IF_SOURCE_HIDDEN", + "value": 2048 }, { - "name": "DOTA_UNIT_TARGET_CUSTOM", - "value": 128 + "name": "DOTA_DAMAGE_FLAG_NO_SPELL_LIFESTEAL", + "value": 4096 }, { - "name": "DOTA_UNIT_TARGET_SELF", - "value": 256 + "name": "DOTA_DAMAGE_FLAG_PROPERTY_FIRE", + "value": 8192 }, { - "name": "DOTA_UNIT_TARGET_BASIC", - "value": 18 + "name": "DOTA_DAMAGE_FLAG_IGNORES_BASE_PHYSICAL_ARMOR", + "value": 16384 }, { - "name": "DOTA_UNIT_TARGET_ALL", - "value": 55 + "name": "DOTA_DAMAGE_FLAG_SECONDARY_PROJECTILE_ATTACK", + "value": 32768 }, { - "name": "DOTA_UNIT_TARGET_HEROES_AND_CREEPS", - "value": 19 + "name": "DOTA_DAMAGE_FLAG_FORCE_SPELL_AMPLIFICATION", + "value": 65536 + }, + { + "name": "DOTA_DAMAGE_FLAG_MAGIC_AUTO_ATTACK", + "value": 131072 + }, + { + "name": "DOTA_DAMAGE_FLAG_ATTACK_MODIFIER", + "value": 262144 + }, + { + "name": "DOTA_DAMAGE_FLAG_BYPASSES_ALL_BLOCK", + "value": 524288 } ] }, { - "name": "DOTA_UNIT_TARGET_FLAGS", + "kind": "enum", + "name": "DotaDefaultUIElement_t", + "available": "both", "members": [ { - "name": "DOTA_UNIT_TARGET_FLAG_NONE", + "name": "DOTA_DEFAULT_UI_INVALID", + "value": -1 + }, + { + "name": "DOTA_DEFAULT_UI_TOP_TIMEOFDAY", "value": 0 }, { - "name": "DOTA_UNIT_TARGET_FLAG_RANGED_ONLY", + "name": "DOTA_DEFAULT_UI_TOP_HEROES", + "value": 1 + }, + { + "name": "DOTA_DEFAULT_UI_FLYOUT_SCOREBOARD", "value": 2 }, { - "name": "DOTA_UNIT_TARGET_FLAG_MELEE_ONLY", + "name": "DOTA_DEFAULT_UI_ACTION_PANEL", + "value": 3 + }, + { + "name": "DOTA_DEFAULT_UI_ACTION_MINIMAP", "value": 4 }, { - "name": "DOTA_UNIT_TARGET_FLAG_DEAD", - "value": 8 + "name": "DOTA_DEFAULT_UI_INVENTORY_PANEL", + "value": 5 }, { - "name": "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES", - "value": 16 + "name": "DOTA_DEFAULT_UI_INVENTORY_SHOP", + "value": 6 }, { - "name": "DOTA_UNIT_TARGET_FLAG_NOT_MAGIC_IMMUNE_ALLIES", - "value": 32 + "name": "DOTA_DEFAULT_UI_INVENTORY_ITEMS", + "value": 7 }, { - "name": "DOTA_UNIT_TARGET_FLAG_INVULNERABLE", - "value": 64 + "name": "DOTA_DEFAULT_UI_INVENTORY_QUICKBUY", + "value": 8 }, { - "name": "DOTA_UNIT_TARGET_FLAG_FOW_VISIBLE", - "value": 128 + "name": "DOTA_DEFAULT_UI_INVENTORY_COURIER", + "value": 9 }, { - "name": "DOTA_UNIT_TARGET_FLAG_NO_INVIS", - "value": 256 + "name": "DOTA_DEFAULT_UI_INVENTORY_PROTECT", + "value": 10 }, { - "name": "DOTA_UNIT_TARGET_FLAG_NOT_ANCIENTS", - "value": 512 + "name": "DOTA_DEFAULT_UI_INVENTORY_GOLD", + "value": 11 }, { - "name": "DOTA_UNIT_TARGET_FLAG_PLAYER_CONTROLLED", - "value": 1024 + "name": "DOTA_DEFAULT_UI_SHOP_SUGGESTEDITEMS", + "value": 12 }, { - "name": "DOTA_UNIT_TARGET_FLAG_NOT_DOMINATED", - "value": 2048 + "name": "DOTA_DEFAULT_UI_SHOP_COMMONITEMS", + "value": 13 }, { - "name": "DOTA_UNIT_TARGET_FLAG_NOT_SUMMONED", - "value": 4096 + "name": "DOTA_DEFAULT_UI_HERO_SELECTION_TEAMS", + "value": 14 }, { - "name": "DOTA_UNIT_TARGET_FLAG_NOT_ILLUSIONS", - "value": 8192 + "name": "DOTA_DEFAULT_UI_HERO_SELECTION_GAME_NAME", + "value": 15 }, { - "name": "DOTA_UNIT_TARGET_FLAG_NOT_ATTACK_IMMUNE", - "value": 16384 + "name": "DOTA_DEFAULT_UI_HERO_SELECTION_CLOCK", + "value": 16 }, { - "name": "DOTA_UNIT_TARGET_FLAG_MANA_ONLY", - "value": 32768 + "name": "DOTA_DEFAULT_UI_HERO_SELECTION_HEADER", + "value": 17 }, { - "name": "DOTA_UNIT_TARGET_FLAG_CHECK_DISABLE_HELP", - "value": 65536 + "name": "DOTA_DEFAULT_UI_TOP_MENU_BUTTONS", + "value": 18 }, { - "name": "DOTA_UNIT_TARGET_FLAG_NOT_CREEP_HERO", - "value": 131072 + "name": "DOTA_DEFAULT_UI_TOP_BAR_BACKGROUND", + "value": 19 }, { - "name": "DOTA_UNIT_TARGET_FLAG_OUT_OF_WORLD", - "value": 262144 + "name": "DOTA_DEFAULT_UI_TOP_BAR_RADIANT_TEAM", + "value": 20 }, { - "name": "DOTA_UNIT_TARGET_FLAG_NOT_NIGHTMARED", - "value": 524288 + "name": "DOTA_DEFAULT_UI_TOP_BAR_DIRE_TEAM", + "value": 21 }, { - "name": "DOTA_UNIT_TARGET_FLAG_PREFER_ENEMIES", - "value": 1048576 + "name": "DOTA_DEFAULT_UI_TOP_BAR_SCORE", + "value": 22 }, { - "name": "DOTA_UNIT_TARGET_FLAG_RESPECT_OBSTRUCTIONS", - "value": 2097152 + "name": "DOTA_DEFAULT_UI_ENDGAME", + "value": 23 }, { - "name": "DOTA_UNIT_TARGET_FLAG_CAN_BE_SEEN", - "value": 384 - } - ] - }, - { - "name": "DOTALimits_t", - "members": [ + "name": "DOTA_DEFAULT_UI_ENDGAME_CHAT", + "value": 24 + }, { - "name": "DOTA_MAX_PLAYERS", - "description": "Max number of players connected to the server including spectators.", - "value": 64 + "name": "DOTA_DEFAULT_UI_QUICK_STATS", + "value": 25 }, { - "name": "DOTA_MAX_TEAM", - "description": "Max number of players per team.", - "value": 24 + "name": "DOTA_DEFAULT_UI_PREGAME_STRATEGYUI", + "value": 26 }, { - "name": "DOTA_MAX_PLAYER_TEAMS", - "description": "Max number of player teams supported.", - "value": 10 + "name": "DOTA_DEFAULT_UI_KILLCAM", + "value": 27 }, { - "name": "DOTA_MAX_TEAM_PLAYERS", - "description": "Max number of non-spectator players supported.", - "value": 24 + "name": "DOTA_DEFAULT_UI_FIGHT_RECAP", + "value": 28 }, { - "name": "DOTA_MAX_SPECTATOR_TEAM_SIZE", - "description": "How many spectators can watch.", - "value": 40 + "name": "DOTA_DEFAULT_UI_TOP_BAR", + "value": 29 }, { - "name": "DOTA_MAX_SPECTATOR_LOBBY_SIZE", - "description": "Max number of viewers in a spectator lobby.", - "value": 15 + "name": "DOTA_DEFAULT_UI_CUSTOMUI_BEHIND_HUD_ELEMENTS", + "value": 30 }, { - "name": "DOTA_DEFAULT_MAX_TEAM", - "description": "Default number of players per team.", - "value": 5 + "name": "DOTA_DEFAULT_UI_AGHANIMS_STATUS", + "value": 31 }, { - "name": "DOTA_DEFAULT_MAX_TEAM_PLAYERS", - "description": "Default number of non-spectator players supported.", - "value": 10 + "name": "DOTA_DEFAULT_UI_ELEMENT_COUNT", + "value": 32 } ] }, { + "kind": "enum", "name": "DOTAInventoryFlags_t", + "available": "both", "members": [ { "name": "DOTA_INVENTORY_ALLOW_NONE", @@ -1361,5896 +1661,5692 @@ ] }, { - "name": "EDOTA_ModifyGold_Reason", + "kind": "enum", + "name": "DOTAKeybindCommand_t", + "available": "both", "members": [ { - "name": "DOTA_ModifyGold_Unspecified", + "name": "DOTA_KEYBIND_NONE", "value": 0 }, { - "name": "DOTA_ModifyGold_Death", + "name": "DOTA_KEYBIND_FIRST", "value": 1 }, { - "name": "DOTA_ModifyGold_Buyback", + "name": "DOTA_KEYBIND_CAMERA_UP", + "value": 1 + }, + { + "name": "DOTA_KEYBIND_CAMERA_DOWN", "value": 2 }, { - "name": "DOTA_ModifyGold_PurchaseConsumable", + "name": "DOTA_KEYBIND_CAMERA_LEFT", "value": 3 }, { - "name": "DOTA_ModifyGold_PurchaseItem", + "name": "DOTA_KEYBIND_CAMERA_RIGHT", "value": 4 }, { - "name": "DOTA_ModifyGold_AbandonedRedistribute", + "name": "DOTA_KEYBIND_CAMERA_GRIP", "value": 5 }, { - "name": "DOTA_ModifyGold_SellItem", + "name": "DOTA_KEYBIND_CAMERA_YAW_GRIP", "value": 6 }, { - "name": "DOTA_ModifyGold_AbilityCost", + "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_1", "value": 7 }, { - "name": "DOTA_ModifyGold_CheatCommand", + "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_2", "value": 8 }, { - "name": "DOTA_ModifyGold_SelectionPenalty", + "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_3", "value": 9 }, { - "name": "DOTA_ModifyGold_GameTick", + "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_4", "value": 10 }, { - "name": "DOTA_ModifyGold_Building", + "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_5", "value": 11 }, { - "name": "DOTA_ModifyGold_HeroKill", + "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_6", "value": 12 }, { - "name": "DOTA_ModifyGold_CreepKill", + "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_7", "value": 13 }, { - "name": "DOTA_ModifyGold_NeutralKill", + "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_8", "value": 14 }, { - "name": "DOTA_ModifyGold_RoshanKill", + "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_9", "value": 15 }, { - "name": "DOTA_ModifyGold_CourierKill", + "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_10", "value": 16 }, { - "name": "DOTA_ModifyGold_BountyRune", + "name": "DOTA_KEYBIND_HERO_ATTACK", "value": 17 }, { - "name": "DOTA_ModifyGold_SharedGold", + "name": "DOTA_KEYBIND_HERO_MOVE", "value": 18 }, { - "name": "DOTA_ModifyGold_AbilityGold", + "name": "DOTA_KEYBIND_HERO_MOVE_DIRECTION", "value": 19 }, { - "name": "DOTA_ModifyGold_WardKill", + "name": "DOTA_KEYBIND_PATROL", "value": 20 }, { - "name": "DOTA_ModifyGold_CourierKilledByThisPlayer", + "name": "DOTA_KEYBIND_HERO_STOP", "value": 21 - } - ] - }, - { - "name": "DOTAUnitAttackCapability_t", - "members": [ - { - "name": "DOTA_UNIT_CAP_NO_ATTACK", - "value": 0 }, { - "name": "DOTA_UNIT_CAP_MELEE_ATTACK", - "value": 1 + "name": "DOTA_KEYBIND_HERO_HOLD", + "value": 22 }, { - "name": "DOTA_UNIT_CAP_RANGED_ATTACK", - "value": 2 + "name": "DOTA_KEYBIND_HERO_SELECT", + "value": 23 }, { - "name": "DOTA_UNIT_CAP_RANGED_ATTACK_DIRECTIONAL", - "value": 4 + "name": "DOTA_KEYBIND_COURIER_SELECT", + "value": 24 }, { - "name": "DOTA_UNIT_ATTACK_CAPABILITY_BIT_COUNT", - "value": 3 - } - ] - }, - { - "name": "DOTAUnitMoveCapability_t", - "members": [ - { - "name": "DOTA_UNIT_CAP_MOVE_NONE", - "value": 0 + "name": "DOTA_KEYBIND_COURIER_DELIVER", + "value": 25 }, { - "name": "DOTA_UNIT_CAP_MOVE_GROUND", - "value": 1 + "name": "DOTA_KEYBIND_COURIER_BURST", + "value": 26 }, { - "name": "DOTA_UNIT_CAP_MOVE_FLY", - "value": 2 - } - ] - }, - { - "name": "EShareAbility", - "members": [ - { - "name": "ITEM_FULLY_SHAREABLE", - "value": 0 + "name": "DOTA_KEYBIND_COURIER_SHIELD", + "value": 27 }, { - "name": "ITEM_PARTIALLY_SHAREABLE", - "value": 1 + "name": "DOTA_KEYBIND_PAUSE", + "value": 28 }, { - "name": "ITEM_NOT_SHAREABLE", - "value": 2 - } - ] - }, - { - "name": "DOTAMusicStatus_t", - "members": [ - { - "name": "DOTA_MUSIC_STATUS_NONE", - "value": 0 + "name": "DOTA_SELECT_ALL", + "value": 29 }, { - "name": "DOTA_MUSIC_STATUS_EXPLORATION", - "value": 1 + "name": "DOTA_SELECT_ALL_OTHERS", + "value": 30 }, { - "name": "DOTA_MUSIC_STATUS_BATTLE", - "value": 2 + "name": "DOTA_RECENT_EVENT", + "value": 31 }, { - "name": "DOTA_MUSIC_STATUS_PRE_GAME_EXPLORATION", - "value": 3 + "name": "DOTA_KEYBIND_CHAT_TEAM", + "value": 32 }, { - "name": "DOTA_MUSIC_STATUS_DEAD", - "value": 4 + "name": "DOTA_KEYBIND_CHAT_GLOBAL", + "value": 33 }, { - "name": "DOTA_MUSIC_STATUS_LAST", - "value": 5 - } - ] - }, - { - "name": "DOTA_ABILITY_BEHAVIOR", - "members": [ - { - "name": "DOTA_ABILITY_BEHAVIOR_NONE", - "value": 0 + "name": "DOTA_KEYBIND_CHAT_TEAM2", + "value": 34 }, { - "name": "DOTA_ABILITY_BEHAVIOR_HIDDEN", - "value": 1 + "name": "DOTA_KEYBIND_CHAT_GLOBAL2", + "value": 35 }, { - "name": "DOTA_ABILITY_BEHAVIOR_PASSIVE", - "value": 2 + "name": "DOTA_KEYBIND_CHAT_VOICE_PARTY", + "value": 36 }, { - "name": "DOTA_ABILITY_BEHAVIOR_NO_TARGET", - "value": 4 + "name": "DOTA_KEYBIND_CHAT_VOICE_TEAM", + "value": 37 }, { - "name": "DOTA_ABILITY_BEHAVIOR_UNIT_TARGET", - "value": 8 + "name": "DOTA_KEYBIND_CHAT_WHEEL", + "value": 38 }, { - "name": "DOTA_ABILITY_BEHAVIOR_POINT", - "value": 16 + "name": "DOTA_KEYBIND_CHAT_WHEEL2", + "value": 39 }, { - "name": "DOTA_ABILITY_BEHAVIOR_AOE", - "value": 32 + "name": "DOTA_KEYBIND_CHAT_WHEEL_CARE", + "value": 40 }, { - "name": "DOTA_ABILITY_BEHAVIOR_NOT_LEARNABLE", - "value": 64 + "name": "DOTA_KEYBIND_CHAT_WHEEL_BACK", + "value": 41 }, { - "name": "DOTA_ABILITY_BEHAVIOR_CHANNELLED", - "value": 128 + "name": "DOTA_KEYBIND_CHAT_WHEEL_NEED_WARDS", + "value": 42 }, { - "name": "DOTA_ABILITY_BEHAVIOR_ITEM", - "value": 256 + "name": "DOTA_KEYBIND_CHAT_WHEEL_STUN", + "value": 43 }, { - "name": "DOTA_ABILITY_BEHAVIOR_TOGGLE", - "value": 512 + "name": "DOTA_KEYBIND_CHAT_WHEEL_HELP", + "value": 44 }, { - "name": "DOTA_ABILITY_BEHAVIOR_DIRECTIONAL", - "value": 1024 + "name": "DOTA_KEYBIND_CHAT_WHEEL_GET_PUSH", + "value": 45 }, { - "name": "DOTA_ABILITY_BEHAVIOR_IMMEDIATE", - "value": 2048 + "name": "DOTA_KEYBIND_CHAT_WHEEL_GOOD_JOB", + "value": 46 }, { - "name": "DOTA_ABILITY_BEHAVIOR_AUTOCAST", - "value": 4096 + "name": "DOTA_KEYBIND_CHAT_WHEEL_MISSING", + "value": 47 }, { - "name": "DOTA_ABILITY_BEHAVIOR_OPTIONAL_UNIT_TARGET", - "value": 8192 + "name": "DOTA_KEYBIND_CHAT_WHEEL_MISSING_TOP", + "value": 48 }, { - "name": "DOTA_ABILITY_BEHAVIOR_OPTIONAL_POINT", - "value": 16384 + "name": "DOTA_KEYBIND_CHAT_WHEEL_MISSING_MIDDLE", + "value": 49 }, { - "name": "DOTA_ABILITY_BEHAVIOR_OPTIONAL_NO_TARGET", - "value": 32768 + "name": "DOTA_KEYBIND_CHAT_WHEEL_MISSING_BOTTOM", + "value": 50 }, { - "name": "DOTA_ABILITY_BEHAVIOR_AURA", - "value": 65536 + "name": "DOTA_KEYBIND_HERO_CHAT_WHEEL", + "value": 51 }, { - "name": "DOTA_ABILITY_BEHAVIOR_ATTACK", - "value": 131072 + "name": "DOTA_KEYBIND_SPRAY_WHEEL", + "value": 52 }, { - "name": "DOTA_ABILITY_BEHAVIOR_DONT_RESUME_MOVEMENT", - "value": 262144 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY1", + "value": 53 }, { - "name": "DOTA_ABILITY_BEHAVIOR_ROOT_DISABLES", - "value": 524288 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY2", + "value": 54 }, { - "name": "DOTA_ABILITY_BEHAVIOR_UNRESTRICTED", - "value": 1048576 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY3", + "value": 55 }, { - "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_PSEUDO_QUEUE", - "value": 2097152 + "name": "DOTA_KEYBIND_ABILITY_SECONDARY1", + "value": 56 }, { - "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL", - "value": 4194304 + "name": "DOTA_KEYBIND_ABILITY_SECONDARY2", + "value": 57 }, { - "name": "DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_MOVEMENT", - "value": 8388608 + "name": "DOTA_KEYBIND_ABILITY_ULTIMATE", + "value": 58 }, { - "name": "DOTA_ABILITY_BEHAVIOR_DONT_ALERT_TARGET", - "value": 16777216 + "name": "DOTA_KEYBIND_TALENT_UPGRADE_LEFT", + "value": 59 }, { - "name": "DOTA_ABILITY_BEHAVIOR_DONT_RESUME_ATTACK", - "value": 33554432 + "name": "DOTA_KEYBIND_TALENT_UPGRADE_RIGHT", + "value": 60 }, { - "name": "DOTA_ABILITY_BEHAVIOR_NORMAL_WHEN_STOLEN", - "value": 67108864 + "name": "DOTA_KEYBIND_TALENT_UPGRADE_ATTRIBUTE", + "value": 61 }, { - "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING", - "value": 134217728 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY1_QUICKCAST", + "value": 62 }, { - "name": "DOTA_ABILITY_BEHAVIOR_RUNE_TARGET", - "value": 268435456 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY2_QUICKCAST", + "value": 63 }, { - "name": "DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_CHANNEL", - "value": 536870912 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY3_QUICKCAST", + "value": 64 }, { - "name": "DOTA_ABILITY_BEHAVIOR_VECTOR_TARGETING", - "value": 1073741824 + "name": "DOTA_KEYBIND_ABILITY_SECONDARY1_QUICKCAST", + "value": 65 }, { - "name": "DOTA_ABILITY_BEHAVIOR_LAST_RESORT_POINT", - "value": 2147483648 + "name": "DOTA_KEYBIND_ABILITY_SECONDARY2_QUICKCAST", + "value": 66 }, { - "name": "DOTA_ABILITY_BEHAVIOR_CAN_SELF_CAST", - "value": 4294967296 + "name": "DOTA_KEYBIND_ABILITY_ULTIMATE_QUICKCAST", + "value": 67 }, { - "name": "DOTA_ABILITY_BEHAVIOR_SHOW_IN_GUIDES", - "value": 8589934592 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY1_EXPLICIT_AUTOCAST", + "value": 68 }, { - "name": "DOTA_ABILITY_BEHAVIOR_UNLOCKED_BY_EFFECT_INDEX", - "value": 17179869184 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY2_EXPLICIT_AUTOCAST", + "value": 69 }, { - "name": "DOTA_ABILITY_BEHAVIOR_SUPPRESS_ASSOCIATED_CONSUMABLE", - "value": 34359738368 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY3_EXPLICIT_AUTOCAST", + "value": 70 }, { - "name": "DOTA_ABILITY_BEHAVIOR_FREE_DRAW_TARGETING", - "value": 68719476736 + "name": "DOTA_KEYBIND_ABILITY_SECONDARY1_EXPLICIT_AUTOCAST", + "value": 71 }, { - "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_SILENCE", - "value": 137438953472 + "name": "DOTA_KEYBIND_ABILITY_SECONDARY2_EXPLICIT_AUTOCAST", + "value": 72 }, { - "name": "DOTA_ABILITY_BEHAVIOR_OVERSHOOT", - "value": 274877906944 + "name": "DOTA_KEYBIND_ABILITY_ULTIMATE_EXPLICIT_AUTOCAST", + "value": 73 }, { - "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_MUTED", - "value": 549755813888 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY1_QUICKCAST_AUTOCAST", + "value": 74 }, { - "name": "DOTA_ABILITY_BEHAVIOR_ALT_CASTABLE", - "value": 1099511627776 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY2_QUICKCAST_AUTOCAST", + "value": 75 }, { - "name": "DOTA_ABILITY_BEHAVIOR_SKIP_FOR_KEYBINDS", - "value": 4398046511104 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY3_QUICKCAST_AUTOCAST", + "value": 76 }, { - "name": "DOTA_ABILITY_BEHAVIOR_INNATE_UI", - "value": 8796093022208 + "name": "DOTA_KEYBIND_ABILITY_SECONDARY1_QUICKCAST_AUTOCAST", + "value": 77 }, { - "name": "DOTA_ABILITY_BEHAVIOR_UNSWAPPABLE", - "value": 17592186044416 + "name": "DOTA_KEYBIND_ABILITY_SECONDARY2_QUICKCAST_AUTOCAST", + "value": 78 }, { - "name": "DOTA_ABILITY_BEHAVIOR_DONT_PROC_OTHER_ABILITIES", - "value": 35184372088832 + "name": "DOTA_KEYBIND_ABILITY_ULTIMATE_QUICKCAST_AUTOCAST", + "value": 79 }, { - "name": "DOTA_ABILITY_BEHAVIOR_IGNORE_INVISIBLE", - "value": 70368744177664 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY1_AUTOMATIC_AUTOCAST", + "value": 80 }, { - "name": "DOTA_ABILITY_BEHAVIOR_AFFECTED_BY_MUTE", - "value": 140737488355328 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY2_AUTOMATIC_AUTOCAST", + "value": 81 }, { - "name": "DOTA_ABILITY_BEHAVIOR_IS_FAKE_ITEM", - "value": 281474976710656 - } - ] - }, - { - "name": "DAMAGE_TYPES", - "members": [ - { - "name": "DAMAGE_TYPE_NONE", - "value": 0 + "name": "DOTA_KEYBIND_ABILITY_PRIMARY3_AUTOMATIC_AUTOCAST", + "value": 82 }, { - "name": "DAMAGE_TYPE_PHYSICAL", - "value": 1 + "name": "DOTA_KEYBIND_ABILITY_SECONDARY1_AUTOMATIC_AUTOCAST", + "value": 83 }, { - "name": "DAMAGE_TYPE_MAGICAL", - "value": 2 + "name": "DOTA_KEYBIND_ABILITY_SECONDARY2_AUTOMATIC_AUTOCAST", + "value": 84 }, { - "name": "DAMAGE_TYPE_PURE", - "value": 4 + "name": "DOTA_KEYBIND_ABILITY_ULTIMATE_AUTOMATIC_AUTOCAST", + "value": 85 }, { - "name": "DAMAGE_TYPE_HP_REMOVAL", - "value": 8 + "name": "DOTA_KEYBIND_INVENTORY1", + "value": 86 }, { - "name": "DAMAGE_TYPE_ABILITY_DEFINED", - "value": 22 + "name": "DOTA_KEYBIND_INVENTORY2", + "value": 87 }, { - "name": "DAMAGE_TYPE_ALL", - "value": 7 - } - ] - }, - { - "name": "ABILITY_TYPES", - "members": [ - { - "name": "ABILITY_TYPE_BASIC", - "value": 0 + "name": "DOTA_KEYBIND_INVENTORY3", + "value": 88 }, { - "name": "ABILITY_TYPE_ULTIMATE", - "value": 1 + "name": "DOTA_KEYBIND_INVENTORY4", + "value": 89 }, { - "name": "ABILITY_TYPE_ATTRIBUTES", - "value": 2 + "name": "DOTA_KEYBIND_INVENTORY5", + "value": 90 }, { - "name": "ABILITY_TYPE_HIDDEN", - "value": 3 - } - ] - }, - { - "name": "SPELL_IMMUNITY_TYPES", - "members": [ - { - "name": "SPELL_IMMUNITY_NONE", - "value": 0 + "name": "DOTA_KEYBIND_INVENTORY6", + "value": 91 }, { - "name": "SPELL_IMMUNITY_ALLIES_YES", - "value": 1 + "name": "DOTA_KEYBIND_INVENTORYTP", + "value": 92 }, { - "name": "SPELL_IMMUNITY_ALLIES_NO", - "value": 2 + "name": "DOTA_KEYBIND_INVENTORYNEUTRAL", + "value": 93 }, { - "name": "SPELL_IMMUNITY_ENEMIES_YES", - "value": 3 + "name": "DOTA_KEYBIND_INVENTORY1_QUICKCAST", + "value": 94 }, { - "name": "SPELL_IMMUNITY_ENEMIES_NO", - "value": 4 + "name": "DOTA_KEYBIND_INVENTORY2_QUICKCAST", + "value": 95 }, { - "name": "SPELL_IMMUNITY_ALLIES_YES_ENEMIES_NO", - "value": 5 - } - ] - }, - { - "name": "DOTADamageFlag_t", - "members": [ - { - "name": "DOTA_DAMAGE_FLAG_NONE", - "value": 0 + "name": "DOTA_KEYBIND_INVENTORY3_QUICKCAST", + "value": 96 }, { - "name": "DOTA_DAMAGE_FLAG_IGNORES_MAGIC_ARMOR", - "value": 1 + "name": "DOTA_KEYBIND_INVENTORY4_QUICKCAST", + "value": 97 }, { - "name": "DOTA_DAMAGE_FLAG_IGNORES_PHYSICAL_ARMOR", - "value": 2 + "name": "DOTA_KEYBIND_INVENTORY5_QUICKCAST", + "value": 98 }, { - "name": "DOTA_DAMAGE_FLAG_BYPASSES_INVULNERABILITY", - "value": 4 + "name": "DOTA_KEYBIND_INVENTORY6_QUICKCAST", + "value": 99 }, { - "name": "DOTA_DAMAGE_FLAG_BYPASSES_PHYSICAL_BLOCK", - "value": 8 + "name": "DOTA_KEYBIND_INVENTORYTP_QUICKCAST", + "value": 100 }, { - "name": "DOTA_DAMAGE_FLAG_REFLECTION", - "value": 16 + "name": "DOTA_KEYBIND_INVENTORYNEUTRAL_QUICKCAST", + "value": 101 }, { - "name": "DOTA_DAMAGE_FLAG_HPLOSS", - "value": 32 + "name": "DOTA_KEYBIND_INVENTORY1_AUTOCAST", + "value": 102 }, { - "name": "DOTA_DAMAGE_FLAG_NO_DIRECTOR_EVENT", - "value": 64 + "name": "DOTA_KEYBIND_INVENTORY2_AUTOCAST", + "value": 103 }, { - "name": "DOTA_DAMAGE_FLAG_NON_LETHAL", - "value": 128 + "name": "DOTA_KEYBIND_INVENTORY3_AUTOCAST", + "value": 104 }, { - "name": "DOTA_DAMAGE_FLAG_NO_DAMAGE_MULTIPLIERS", - "value": 512 + "name": "DOTA_KEYBIND_INVENTORY4_AUTOCAST", + "value": 105 }, { - "name": "DOTA_DAMAGE_FLAG_NO_SPELL_AMPLIFICATION", - "value": 1024 + "name": "DOTA_KEYBIND_INVENTORY5_AUTOCAST", + "value": 106 }, { - "name": "DOTA_DAMAGE_FLAG_DONT_DISPLAY_DAMAGE_IF_SOURCE_HIDDEN", - "value": 2048 + "name": "DOTA_KEYBIND_INVENTORY6_AUTOCAST", + "value": 107 }, { - "name": "DOTA_DAMAGE_FLAG_NO_SPELL_LIFESTEAL", - "value": 4096 + "name": "DOTA_KEYBIND_INVENTORYTP_AUTOCAST", + "value": 108 }, { - "name": "DOTA_DAMAGE_FLAG_PROPERTY_FIRE", - "value": 8192 + "name": "DOTA_KEYBIND_INVENTORYNEUTRAL_AUTOCAST", + "value": 109 }, { - "name": "DOTA_DAMAGE_FLAG_IGNORES_BASE_PHYSICAL_ARMOR", - "value": 16384 + "name": "DOTA_KEYBIND_INVENTORY1_QUICKAUTOCAST", + "value": 110 }, { - "name": "DOTA_DAMAGE_FLAG_SECONDARY_PROJECTILE_ATTACK", - "value": 32768 + "name": "DOTA_KEYBIND_INVENTORY2_QUICKAUTOCAST", + "value": 111 }, { - "name": "DOTA_DAMAGE_FLAG_FORCE_SPELL_AMPLIFICATION", - "value": 65536 + "name": "DOTA_KEYBIND_INVENTORY3_QUICKAUTOCAST", + "value": 112 }, { - "name": "DOTA_DAMAGE_FLAG_MAGIC_AUTO_ATTACK", - "value": 131072 + "name": "DOTA_KEYBIND_INVENTORY4_QUICKAUTOCAST", + "value": 113 }, { - "name": "DOTA_DAMAGE_FLAG_ATTACK_MODIFIER", - "value": 262144 + "name": "DOTA_KEYBIND_INVENTORY5_QUICKAUTOCAST", + "value": 114 }, { - "name": "DOTA_DAMAGE_FLAG_BYPASSES_ALL_BLOCK", - "value": 524288 - } - ] - }, - { - "name": "EDOTA_ModifyXP_Reason", - "members": [ - { - "name": "DOTA_ModifyXP_Unspecified", - "value": 0 + "name": "DOTA_KEYBIND_INVENTORY6_QUICKAUTOCAST", + "value": 115 }, { - "name": "DOTA_ModifyXP_HeroKill", - "value": 1 + "name": "DOTA_KEYBIND_INVENTORYTP_QUICKAUTOCAST", + "value": 116 }, { - "name": "DOTA_ModifyXP_CreepKill", - "value": 2 + "name": "DOTA_KEYBIND_INVENTORYNEUTRAL_QUICKAUTOCAST", + "value": 117 }, { - "name": "DOTA_ModifyXP_RoshanKill", - "value": 3 + "name": "DOTA_KEYBIND_CONTROL_GROUP1", + "value": 118 }, { - "name": "DOTA_ModifyXP_TomeOfKnowledge", - "value": 4 + "name": "DOTA_KEYBIND_CONTROL_GROUP2", + "value": 119 }, { - "name": "DOTA_ModifyXP_Outpost", - "value": 5 + "name": "DOTA_KEYBIND_CONTROL_GROUP3", + "value": 120 }, { - "name": "DOTA_ModifyXP_CatchUp", - "value": 6 + "name": "DOTA_KEYBIND_CONTROL_GROUP4", + "value": 121 }, { - "name": "DOTA_ModifyXP_HeroAbility", - "value": 7 + "name": "DOTA_KEYBIND_CONTROL_GROUP5", + "value": 122 }, { - "name": "DOTA_ModifyXP_MAX", - "value": 8 - } - ] - }, - { - "name": "GameActivity_t", - "members": [ + "name": "DOTA_KEYBIND_CONTROL_GROUP6", + "value": 123 + }, { - "name": "ACT_DOTA_IDLE", - "value": 1500 + "name": "DOTA_KEYBIND_CONTROL_GROUP7", + "value": 124 }, { - "name": "ACT_DOTA_IDLE_RARE", - "value": 1501 + "name": "DOTA_KEYBIND_CONTROL_GROUP8", + "value": 125 }, { - "name": "ACT_DOTA_RUN", - "value": 1502 + "name": "DOTA_KEYBIND_CONTROL_GROUP9", + "value": 126 }, { - "name": "ACT_DOTA_ATTACK", - "value": 1503 + "name": "DOTA_KEYBIND_CONTROL_GROUP10", + "value": 127 }, { - "name": "ACT_DOTA_ATTACK2", - "value": 1504 + "name": "DOTA_KEYBIND_CONTROL_GROUPCYCLE", + "value": 128 }, { - "name": "ACT_DOTA_ATTACK_EVENT", - "value": 1505 + "name": "DOTA_KEYBIND_SELECT_ALLY1", + "value": 129 }, { - "name": "ACT_DOTA_DIE", - "value": 1506 + "name": "DOTA_KEYBIND_SELECT_ALLY2", + "value": 130 }, { - "name": "ACT_DOTA_FLINCH", - "value": 1507 + "name": "DOTA_KEYBIND_SELECT_ALLY3", + "value": 131 }, { - "name": "ACT_DOTA_FLAIL", - "value": 1508 + "name": "DOTA_KEYBIND_SELECT_ALLY4", + "value": 132 }, { - "name": "ACT_DOTA_DISABLED", - "value": 1509 + "name": "DOTA_KEYBIND_SELECT_ALLY5", + "value": 133 }, { - "name": "ACT_DOTA_CAST_ABILITY_1", - "value": 1510 + "name": "DOTA_KEYBIND_SHOP_TOGGLE", + "value": 134 }, { - "name": "ACT_DOTA_CAST_ABILITY_2", - "value": 1511 + "name": "DOTA_KEYBIND_SCOREBOARD_TOGGLE", + "value": 135 }, { - "name": "ACT_DOTA_CAST_ABILITY_3", - "value": 1512 + "name": "DOTA_KEYBIND_COMBATLOG_TOGGLE", + "value": 136 }, { - "name": "ACT_DOTA_CAST_ABILITY_4", - "value": 1513 + "name": "DOTA_KEYBIND_SCREENSHOT", + "value": 137 }, { - "name": "ACT_DOTA_CAST_ABILITY_5", - "value": 1514 + "name": "DOTA_KEYBIND_ESCAPE", + "value": 138 }, { - "name": "ACT_DOTA_CAST_ABILITY_6", - "value": 1515 + "name": "DOTA_KEYBIND_CONSOLE", + "value": 139 }, { - "name": "ACT_DOTA_OVERRIDE_ABILITY_1", - "value": 1516 + "name": "DOTA_KEYBIND_DEATH_SUMMARY", + "value": 140 }, { - "name": "ACT_DOTA_OVERRIDE_ABILITY_2", - "value": 1517 + "name": "DOTA_KEYBIND_LEARN_ABILITIES", + "value": 141 }, { - "name": "ACT_DOTA_OVERRIDE_ABILITY_3", - "value": 1518 + "name": "DOTA_KEYBIND_LEARN_STATS", + "value": 142 }, { - "name": "ACT_DOTA_OVERRIDE_ABILITY_4", - "value": 1519 + "name": "DOTA_KEYBIND_ACTIVATE_GLYPH", + "value": 143 }, { - "name": "ACT_DOTA_CHANNEL_ABILITY_1", - "value": 1520 + "name": "DOTA_KEYBIND_ACTIVATE_RADAR", + "value": 144 }, { - "name": "ACT_DOTA_CHANNEL_ABILITY_2", - "value": 1521 + "name": "DOTA_KEYBIND_PURCHASE_QUICKBUY", + "value": 145 }, { - "name": "ACT_DOTA_CHANNEL_ABILITY_3", - "value": 1522 + "name": "DOTA_KEYBIND_PURCHASE_STICKY", + "value": 146 }, { - "name": "ACT_DOTA_CHANNEL_ABILITY_4", - "value": 1523 + "name": "DOTA_KEYBIND_GRAB_STASH_ITEMS", + "value": 147 }, { - "name": "ACT_DOTA_CHANNEL_ABILITY_5", - "value": 1524 + "name": "DOTA_KEYBIND_TOGGLE_AUTOATTACK", + "value": 148 }, { - "name": "ACT_DOTA_CHANNEL_ABILITY_6", - "value": 1525 + "name": "DOTA_KEYBIND_TOGGLE_OVERLAYMAP", + "value": 149 }, { - "name": "ACT_DOTA_CHANNEL_END_ABILITY_1", - "value": 1526 + "name": "DOTA_KEYBIND_OVERLAYMAP_INPUTKEY", + "value": 150 }, { - "name": "ACT_DOTA_CHANNEL_END_ABILITY_2", - "value": 1527 + "name": "DOTA_KEYBIND_FILTER_ENEMY", + "value": 151 }, { - "name": "ACT_DOTA_CHANNEL_END_ABILITY_3", - "value": 1528 + "name": "DOTA_KEYBIND_FILTER_ALLY", + "value": 152 }, { - "name": "ACT_DOTA_CHANNEL_END_ABILITY_4", - "value": 1529 + "name": "DOTA_KEYBIND_FILTER_HERO", + "value": 153 }, { - "name": "ACT_DOTA_CHANNEL_END_ABILITY_5", - "value": 1530 + "name": "DOTA_KEYBIND_FILTER_NONHERO", + "value": 154 }, { - "name": "ACT_DOTA_CHANNEL_END_ABILITY_6", - "value": 1531 + "name": "DOTA_KEYBIND_TAUNT", + "value": 155 }, { - "name": "ACT_DOTA_CONSTANT_LAYER", - "value": 1532 + "name": "DOTA_KEYBIND_SHOP_CONSUMABLES", + "value": 156 }, { - "name": "ACT_DOTA_CAPTURE", - "value": 1533 + "name": "DOTA_KEYBIND_SHOP_ATTRIBUTES", + "value": 157 }, { - "name": "ACT_DOTA_SPAWN", - "value": 1534 + "name": "DOTA_KEYBIND_SHOP_ARMAMENTS", + "value": 158 }, { - "name": "ACT_DOTA_KILLTAUNT", - "value": 1535 + "name": "DOTA_KEYBIND_SHOP_ARCANE", + "value": 159 }, { - "name": "ACT_DOTA_TAUNT", - "value": 1536 + "name": "DOTA_KEYBIND_SHOP_BASICS", + "value": 160 }, { - "name": "ACT_DOTA_THIRST", - "value": 1537 + "name": "DOTA_KEYBIND_SHOP_SUPPORT", + "value": 161 }, { - "name": "ACT_DOTA_CAST_DRAGONBREATH", - "value": 1538 + "name": "DOTA_KEYBIND_SHOP_CASTER", + "value": 162 }, { - "name": "ACT_DOTA_ECHO_SLAM", - "value": 1539 + "name": "DOTA_KEYBIND_SHOP_WEAPONS", + "value": 163 }, { - "name": "ACT_DOTA_CAST_ABILITY_1_END", - "value": 1540 + "name": "DOTA_KEYBIND_SHOP_ARMOR", + "value": 164 }, { - "name": "ACT_DOTA_CAST_ABILITY_2_END", - "value": 1541 + "name": "DOTA_KEYBIND_SHOP_ARTIFACTS", + "value": 165 }, { - "name": "ACT_DOTA_CAST_ABILITY_3_END", - "value": 1542 + "name": "DOTA_KEYBIND_SHOP_SIDE_PAGE_1", + "value": 166 }, { - "name": "ACT_DOTA_CAST_ABILITY_4_END", - "value": 1543 + "name": "DOTA_KEYBIND_SHOP_SIDE_PAGE_2", + "value": 167 }, { - "name": "ACT_MIRANA_LEAP_END", - "value": 1544 + "name": "DOTA_KEYBIND_SHOP_SECRET", + "value": 168 }, { - "name": "ACT_WAVEFORM_START", - "value": 1545 + "name": "DOTA_KEYBIND_SHOP_SEARCHBOX", + "value": 169 }, { - "name": "ACT_WAVEFORM_END", - "value": 1546 + "name": "DOTA_KEYBIND_SHOP_SLOT_1", + "value": 170 }, { - "name": "ACT_DOTA_CAST_ABILITY_ROT", - "value": 1547 + "name": "DOTA_KEYBIND_SHOP_SLOT_2", + "value": 171 }, { - "name": "ACT_DOTA_DIE_SPECIAL", - "value": 1548 + "name": "DOTA_KEYBIND_SHOP_SLOT_3", + "value": 172 }, { - "name": "ACT_DOTA_RATTLETRAP_BATTERYASSAULT", - "value": 1549 + "name": "DOTA_KEYBIND_SHOP_SLOT_4", + "value": 173 }, { - "name": "ACT_DOTA_RATTLETRAP_POWERCOGS", - "value": 1550 + "name": "DOTA_KEYBIND_SHOP_SLOT_5", + "value": 174 }, { - "name": "ACT_DOTA_RATTLETRAP_HOOKSHOT_START", - "value": 1551 + "name": "DOTA_KEYBIND_SHOP_SLOT_6", + "value": 175 }, { - "name": "ACT_DOTA_RATTLETRAP_HOOKSHOT_LOOP", - "value": 1552 + "name": "DOTA_KEYBIND_SHOP_SLOT_7", + "value": 176 }, { - "name": "ACT_DOTA_RATTLETRAP_HOOKSHOT_END", - "value": 1553 + "name": "DOTA_KEYBIND_SHOP_SLOT_8", + "value": 177 }, { - "name": "ACT_STORM_SPIRIT_OVERLOAD_RUN_OVERRIDE", - "value": 1554 + "name": "DOTA_KEYBIND_SHOP_SLOT_9", + "value": 178 }, { - "name": "ACT_DOTA_TINKER_REARM1", - "value": 1555 + "name": "DOTA_KEYBIND_SHOP_SLOT_10", + "value": 179 }, { - "name": "ACT_DOTA_TINKER_REARM2", - "value": 1556 + "name": "DOTA_KEYBIND_SHOP_SLOT_11", + "value": 180 }, { - "name": "ACT_DOTA_TINKER_REARM3", - "value": 1557 + "name": "DOTA_KEYBIND_SHOP_SLOT_12", + "value": 181 }, { - "name": "ACT_TINY_AVALANCHE", - "value": 1558 + "name": "DOTA_KEYBIND_SHOP_SLOT_13", + "value": 182 }, { - "name": "ACT_TINY_TOSS", - "value": 1559 + "name": "DOTA_KEYBIND_SHOP_SLOT_14", + "value": 183 }, { - "name": "ACT_TINY_GROWL", - "value": 1560 + "name": "DOTA_KEYBIND_SPEC_CAMERA_UP", + "value": 184 }, { - "name": "ACT_DOTA_WEAVERBUG_ATTACH", - "value": 1561 + "name": "DOTA_KEYBIND_SPEC_CAMERA_DOWN", + "value": 185 }, { - "name": "ACT_DOTA_CAST_WILD_AXES_END", - "value": 1562 + "name": "DOTA_KEYBIND_SPEC_CAMERA_LEFT", + "value": 186 }, { - "name": "ACT_DOTA_CAST_LIFE_BREAK_START", - "value": 1563 + "name": "DOTA_KEYBIND_SPEC_CAMERA_RIGHT", + "value": 187 }, { - "name": "ACT_DOTA_CAST_LIFE_BREAK_END", - "value": 1564 + "name": "DOTA_KEYBIND_SPEC_CAMERA_GRIP", + "value": 188 }, { - "name": "ACT_DOTA_NIGHTSTALKER_TRANSITION", - "value": 1565 + "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_1", + "value": 189 }, { - "name": "ACT_DOTA_LIFESTEALER_RAGE", - "value": 1566 + "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_2", + "value": 190 }, { - "name": "ACT_DOTA_LIFESTEALER_OPEN_WOUNDS", - "value": 1567 + "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_3", + "value": 191 }, { - "name": "ACT_DOTA_SAND_KING_BURROW_IN", - "value": 1568 + "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_4", + "value": 192 }, { - "name": "ACT_DOTA_SAND_KING_BURROW_OUT", - "value": 1569 + "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_5", + "value": 193 }, { - "name": "ACT_DOTA_EARTHSHAKER_TOTEM_ATTACK", - "value": 1570 + "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_6", + "value": 194 }, { - "name": "ACT_DOTA_WHEEL_LAYER", - "value": 1571 + "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_7", + "value": 195 }, { - "name": "ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_START", - "value": 1572 + "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_8", + "value": 196 }, { - "name": "ACT_DOTA_ALCHEMIST_CONCOCTION", - "value": 1573 + "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_9", + "value": 197 }, { - "name": "ACT_DOTA_JAKIRO_LIQUIDFIRE_START", - "value": 1574 + "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_10", + "value": 198 }, { - "name": "ACT_DOTA_JAKIRO_LIQUIDFIRE_LOOP", - "value": 1575 + "name": "DOTA_KEYBIND_SPEC_UNIT_SELECT", + "value": 199 }, { - "name": "ACT_DOTA_LIFESTEALER_INFEST", - "value": 1576 + "name": "DOTA_KEYBIND_SPEC_HERO_SELECT", + "value": 200 }, { - "name": "ACT_DOTA_LIFESTEALER_INFEST_END", - "value": 1577 + "name": "DOTA_KEYBIND_SPEC_PAUSE", + "value": 201 }, { - "name": "ACT_DOTA_LASSO_LOOP", - "value": 1578 + "name": "DOTA_KEYBIND_SPEC_CHAT", + "value": 202 }, { - "name": "ACT_DOTA_ALCHEMIST_CONCOCTION_THROW", - "value": 1579 + "name": "DOTA_KEYBIND_SPEC_SCOREBOARD", + "value": 203 }, { - "name": "ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_END", - "value": 1580 + "name": "DOTA_KEYBIND_SPEC_INCREASE_REPLAY_SPEED", + "value": 204 }, { - "name": "ACT_DOTA_CAST_COLD_SNAP", - "value": 1581 + "name": "DOTA_KEYBIND_SPEC_DECREASE_REPLAY_SPEED", + "value": 205 }, { - "name": "ACT_DOTA_CAST_GHOST_WALK", - "value": 1582 + "name": "DOTA_KEYBIND_SPEC_STATS_ITEM", + "value": 206 }, { - "name": "ACT_DOTA_CAST_TORNADO", - "value": 1583 + "name": "DOTA_KEYBIND_SPEC_STATS_GOLD", + "value": 207 }, { - "name": "ACT_DOTA_CAST_EMP", - "value": 1584 + "name": "DOTA_KEYBIND_SPEC_STATS_XP", + "value": 208 }, { - "name": "ACT_DOTA_CAST_ALACRITY", - "value": 1585 + "name": "DOTA_KEYBIND_SPEC_STATS_FANTASY", + "value": 209 }, { - "name": "ACT_DOTA_CAST_CHAOS_METEOR", - "value": 1586 + "name": "DOTA_KEYBIND_SPEC_STATS_WINCHANCE", + "value": 210 }, { - "name": "ACT_DOTA_CAST_SUN_STRIKE", - "value": 1587 + "name": "DOTA_KEYBIND_SPEC_FOW_TOGGLEBOTH", + "value": 211 }, { - "name": "ACT_DOTA_CAST_FORGE_SPIRIT", - "value": 1588 + "name": "DOTA_KEYBIND_SPEC_FOW_TOGGLERADIENT", + "value": 212 }, { - "name": "ACT_DOTA_CAST_ICE_WALL", - "value": 1589 + "name": "DOTA_KEYBIND_SPEC_FOW_TOGGLEDIRE", + "value": 213 }, { - "name": "ACT_DOTA_CAST_DEAFENING_BLAST", - "value": 1590 + "name": "DOTA_KEYBIND_SPEC_OPEN_BROADCASTER_MENU", + "value": 214 }, { - "name": "ACT_DOTA_VICTORY", - "value": 1591 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_KDA", + "value": 215 }, { - "name": "ACT_DOTA_DEFEAT", - "value": 1592 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_LASTHITS_DENIES", + "value": 216 }, { - "name": "ACT_DOTA_SPIRIT_BREAKER_CHARGE_POSE", - "value": 1593 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_LEVEL", + "value": 217 }, { - "name": "ACT_DOTA_SPIRIT_BREAKER_CHARGE_END", - "value": 1594 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_XP_PER_MIN", + "value": 218 }, { - "name": "ACT_DOTA_TELEPORT", - "value": 1595 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_GOLD", + "value": 219 }, { - "name": "ACT_DOTA_TELEPORT_END", - "value": 1596 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_TOTALGOLD", + "value": 220 }, { - "name": "ACT_DOTA_CAST_REFRACTION", - "value": 1597 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_GOLD_PER_MIN", + "value": 221 }, { - "name": "ACT_DOTA_CAST_ABILITY_7", - "value": 1598 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_BUYBACK", + "value": 222 }, { - "name": "ACT_DOTA_CANCEL_SIREN_SONG", - "value": 1599 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_NETWORTH", + "value": 223 }, { - "name": "ACT_DOTA_CHANNEL_ABILITY_7", - "value": 1600 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_FANTASY", + "value": 224 }, { - "name": "ACT_DOTA_LOADOUT", - "value": 1601 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_SORT", + "value": 225 }, { - "name": "ACT_DOTA_FORCESTAFF_END", - "value": 1602 + "name": "DOTA_KEYBIND_SPEC_DROPDOWN_CLOSE", + "value": 226 }, { - "name": "ACT_DOTA_POOF_END", - "value": 1603 + "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_1", + "value": 227 }, { - "name": "ACT_DOTA_SLARK_POUNCE", - "value": 1604 + "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_2", + "value": 228 }, { - "name": "ACT_DOTA_MAGNUS_SKEWER_START", - "value": 1605 + "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_3", + "value": 229 }, { - "name": "ACT_DOTA_MAGNUS_SKEWER_END", - "value": 1606 + "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_4", + "value": 230 }, { - "name": "ACT_DOTA_MEDUSA_STONE_GAZE", - "value": 1607 + "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_5", + "value": 231 }, { - "name": "ACT_DOTA_RELAX_START", - "value": 1608 + "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_6", + "value": 232 }, { - "name": "ACT_DOTA_RELAX_LOOP", - "value": 1609 + "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_7", + "value": 233 }, { - "name": "ACT_DOTA_RELAX_END", - "value": 1610 + "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_8", + "value": 234 }, { - "name": "ACT_DOTA_CENTAUR_STAMPEDE", - "value": 1611 + "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_9", + "value": 235 }, { - "name": "ACT_DOTA_BELLYACHE_START", - "value": 1612 + "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_10", + "value": 236 }, { - "name": "ACT_DOTA_BELLYACHE_LOOP", - "value": 1613 + "name": "DOTA_KEYBIND_SPEC_COACH_VIEWTOGGLE", + "value": 237 }, { - "name": "ACT_DOTA_BELLYACHE_END", - "value": 1614 + "name": "DOTA_KEYBIND_INSPECTHEROINWORLD", + "value": 238 }, { - "name": "ACT_DOTA_ROQUELAIRE_LAND", - "value": 1615 + "name": "DOTA_KEYBIND_CAMERA_ZOOM_IN", + "value": 239 }, { - "name": "ACT_DOTA_ROQUELAIRE_LAND_IDLE", - "value": 1616 + "name": "DOTA_KEYBIND_CAMERA_ZOOM_OUT", + "value": 240 }, { - "name": "ACT_DOTA_GREEVIL_CAST", - "value": 1617 + "name": "DOTA_KEYBIND_CONTROL_GROUPCYCLEPREV", + "value": 241 }, { - "name": "ACT_DOTA_GREEVIL_OVERRIDE_ABILITY", - "value": 1618 + "name": "DOTA_KEYBIND_DOTA_ALT", + "value": 242 }, { - "name": "ACT_DOTA_GREEVIL_HOOK_START", - "value": 1619 + "name": "DOTA_KEYBIND_DOTA_ALTERNATIVE_CAST_SWITCH", + "value": 243 }, { - "name": "ACT_DOTA_GREEVIL_HOOK_END", - "value": 1620 - }, + "name": "DOTA_KEYBIND_COUNT", + "value": 244 + } + ] + }, + { + "kind": "enum", + "name": "DOTALimits_t", + "available": "both", + "members": [ { - "name": "ACT_DOTA_GREEVIL_BLINK_BONE", - "value": 1621 + "name": "DOTA_MAX_PLAYERS", + "description": "Max number of players connected to the server including spectators.", + "value": 64 }, { - "name": "ACT_DOTA_IDLE_SLEEPING", - "value": 1622 + "name": "DOTA_MAX_TEAM", + "description": "Max number of players per team.", + "value": 24 }, { - "name": "ACT_DOTA_INTRO", - "value": 1623 + "name": "DOTA_MAX_PLAYER_TEAMS", + "description": "Max number of player teams supported.", + "value": 10 }, { - "name": "ACT_DOTA_GESTURE_POINT", - "value": 1624 + "name": "DOTA_MAX_TEAM_PLAYERS", + "description": "Max number of non-spectator players supported.", + "value": 24 }, { - "name": "ACT_DOTA_GESTURE_ACCENT", - "value": 1625 + "name": "DOTA_MAX_SPECTATOR_TEAM_SIZE", + "description": "How many spectators can watch.", + "value": 40 }, { - "name": "ACT_DOTA_SLEEPING_END", - "value": 1626 + "name": "DOTA_MAX_SPECTATOR_LOBBY_SIZE", + "description": "Max number of viewers in a spectator lobby.", + "value": 15 }, { - "name": "ACT_DOTA_AMBUSH", - "value": 1627 + "name": "DOTA_DEFAULT_MAX_TEAM", + "description": "Default number of players per team.", + "value": 5 }, { - "name": "ACT_DOTA_ITEM_LOOK", - "value": 1628 - }, + "name": "DOTA_DEFAULT_MAX_TEAM_PLAYERS", + "description": "Default number of non-spectator players supported.", + "value": 10 + } + ] + }, + { + "kind": "enum", + "name": "DOTAMinimapEvent_t", + "available": "both", + "members": [ { - "name": "ACT_DOTA_STARTLE", - "value": 1629 + "name": "DOTA_MINIMAP_EVENT_ANCIENT_UNDER_ATTACK", + "value": 2 }, { - "name": "ACT_DOTA_FRUSTRATION", - "value": 1630 + "name": "DOTA_MINIMAP_EVENT_BASE_UNDER_ATTACK", + "value": 4 }, { - "name": "ACT_DOTA_TELEPORT_REACT", - "value": 1631 + "name": "DOTA_MINIMAP_EVENT_BASE_GLYPHED", + "value": 8 }, { - "name": "ACT_DOTA_TELEPORT_END_REACT", - "value": 1632 + "name": "DOTA_MINIMAP_EVENT_TEAMMATE_UNDER_ATTACK", + "value": 16 }, { - "name": "ACT_DOTA_SHRUG", - "value": 1633 + "name": "DOTA_MINIMAP_EVENT_TEAMMATE_TELEPORTING", + "value": 32 }, { - "name": "ACT_DOTA_RELAX_LOOP_END", - "value": 1634 + "name": "DOTA_MINIMAP_EVENT_TEAMMATE_DIED", + "value": 64 }, { - "name": "ACT_DOTA_PRESENT_ITEM", - "value": 1635 + "name": "DOTA_MINIMAP_EVENT_TUTORIAL_TASK_ACTIVE", + "value": 128 }, { - "name": "ACT_DOTA_IDLE_IMPATIENT", - "value": 1636 + "name": "DOTA_MINIMAP_EVENT_TUTORIAL_TASK_FINISHED", + "value": 256 }, { - "name": "ACT_DOTA_SHARPEN_WEAPON", - "value": 1637 + "name": "DOTA_MINIMAP_EVENT_HINT_LOCATION", + "value": 512 }, { - "name": "ACT_DOTA_SHARPEN_WEAPON_OUT", - "value": 1638 + "name": "DOTA_MINIMAP_EVENT_ENEMY_TELEPORTING", + "value": 1024 }, { - "name": "ACT_DOTA_IDLE_SLEEPING_END", - "value": 1639 + "name": "DOTA_MINIMAP_EVENT_CANCEL_TELEPORTING", + "value": 2048 }, { - "name": "ACT_DOTA_BRIDGE_DESTROY", - "value": 1640 + "name": "DOTA_MINIMAP_EVENT_RADAR", + "value": 4096 }, { - "name": "ACT_DOTA_TAUNT_SNIPER", - "value": 1641 + "name": "DOTA_MINIMAP_EVENT_RADAR_TARGET", + "value": 8192 }, { - "name": "ACT_DOTA_DEATH_BY_SNIPER", - "value": 1642 - }, + "name": "DOTA_MINIMAP_EVENT_MOVE_TO_TARGET", + "value": 16384 + } + ] + }, + { + "kind": "enum", + "name": "DOTAModifierAttribute_t", + "available": "both", + "members": [ { - "name": "ACT_DOTA_LOOK_AROUND", - "value": 1643 + "name": "MODIFIER_ATTRIBUTE_NONE", + "value": 0 }, { - "name": "ACT_DOTA_CAGED_CREEP_RAGE", - "value": 1644 + "name": "MODIFIER_ATTRIBUTE_PERMANENT", + "value": 1 }, { - "name": "ACT_DOTA_CAGED_CREEP_RAGE_OUT", - "value": 1645 + "name": "MODIFIER_ATTRIBUTE_MULTIPLE", + "value": 2 }, { - "name": "ACT_DOTA_CAGED_CREEP_SMASH", - "value": 1646 + "name": "MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE", + "value": 4 }, { - "name": "ACT_DOTA_CAGED_CREEP_SMASH_OUT", - "value": 1647 + "name": "MODIFIER_ATTRIBUTE_AURA_PRIORITY", + "value": 8 }, { - "name": "ACT_DOTA_IDLE_IMPATIENT_SWORD_TAP", - "value": 1648 - }, + "name": "MODIFIER_ATTRIBUTE_IGNORE_DODGE", + "value": 16 + } + ] + }, + { + "kind": "enum", + "name": "DOTAMusicStatus_t", + "available": "both", + "members": [ { - "name": "ACT_DOTA_INTRO_LOOP", - "value": 1649 + "name": "DOTA_MUSIC_STATUS_NONE", + "value": 0 }, { - "name": "ACT_DOTA_BRIDGE_THREAT", - "value": 1650 + "name": "DOTA_MUSIC_STATUS_EXPLORATION", + "value": 1 }, { - "name": "ACT_DOTA_DAGON", - "value": 1651 + "name": "DOTA_MUSIC_STATUS_BATTLE", + "value": 2 }, { - "name": "ACT_DOTA_CAST_ABILITY_2_ES_ROLL_START", - "value": 1652 + "name": "DOTA_MUSIC_STATUS_PRE_GAME_EXPLORATION", + "value": 3 }, { - "name": "ACT_DOTA_CAST_ABILITY_2_ES_ROLL", - "value": 1653 + "name": "DOTA_MUSIC_STATUS_DEAD", + "value": 4 }, { - "name": "ACT_DOTA_CAST_ABILITY_2_ES_ROLL_END", - "value": 1654 + "name": "DOTA_MUSIC_STATUS_LAST", + "value": 5 + } + ] + }, + { + "kind": "enum", + "name": "DOTASlotType_t", + "available": "both", + "members": [ + { + "name": "DOTA_LOADOUT_TYPE_INVALID", + "value": -1 }, { - "name": "ACT_DOTA_NIAN_PIN_START", - "value": 1655 + "name": "DOTA_LOADOUT_TYPE_WEAPON", + "value": 0 }, { - "name": "ACT_DOTA_NIAN_PIN_LOOP", - "value": 1656 + "name": "DOTA_LOADOUT_TYPE_OFFHAND_WEAPON", + "value": 1 }, { - "name": "ACT_DOTA_NIAN_PIN_END", - "value": 1657 + "name": "DOTA_LOADOUT_TYPE_WEAPON2", + "value": 2 }, { - "name": "ACT_DOTA_LEAP_STUN", - "value": 1658 + "name": "DOTA_LOADOUT_TYPE_OFFHAND_WEAPON2", + "value": 3 }, { - "name": "ACT_DOTA_LEAP_SWIPE", - "value": 1659 + "name": "DOTA_LOADOUT_TYPE_HEAD", + "value": 4 }, { - "name": "ACT_DOTA_NIAN_INTRO_LEAP", - "value": 1660 + "name": "DOTA_LOADOUT_TYPE_SHOULDER", + "value": 5 }, { - "name": "ACT_DOTA_AREA_DENY", - "value": 1661 + "name": "DOTA_LOADOUT_TYPE_ARMS", + "value": 6 }, { - "name": "ACT_DOTA_NIAN_PIN_TO_STUN", - "value": 1662 + "name": "DOTA_LOADOUT_TYPE_ARMOR", + "value": 7 }, { - "name": "ACT_DOTA_RAZE_1", - "value": 1663 + "name": "DOTA_LOADOUT_TYPE_BELT", + "value": 8 }, { - "name": "ACT_DOTA_RAZE_2", - "value": 1664 + "name": "DOTA_LOADOUT_TYPE_NECK", + "value": 9 }, { - "name": "ACT_DOTA_RAZE_3", - "value": 1665 + "name": "DOTA_LOADOUT_TYPE_BACK", + "value": 10 }, { - "name": "ACT_DOTA_UNDYING_DECAY", - "value": 1666 + "name": "DOTA_LOADOUT_TYPE_GLOVES", + "value": 11 }, { - "name": "ACT_DOTA_UNDYING_SOUL_RIP", - "value": 1667 + "name": "DOTA_LOADOUT_TYPE_LEGS", + "value": 12 }, { - "name": "ACT_DOTA_UNDYING_TOMBSTONE", - "value": 1668 + "name": "DOTA_LOADOUT_TYPE_TAIL", + "value": 13 }, { - "name": "ACT_DOTA_WHIRLING_AXES_RANGED", - "value": 1669 + "name": "DOTA_LOADOUT_TYPE_MISC", + "value": 14 }, { - "name": "ACT_DOTA_SHALLOW_GRAVE", - "value": 1670 + "name": "DOTA_LOADOUT_TYPE_COSTUME", + "value": 15 }, { - "name": "ACT_DOTA_COLD_FEET", - "value": 1671 + "name": "DOTA_LOADOUT_TYPE_HERO_BASE", + "value": 16 }, { - "name": "ACT_DOTA_ICE_VORTEX", - "value": 1672 + "name": "DOTA_LOADOUT_TYPE_BODY_HEAD", + "value": 17 }, { - "name": "ACT_DOTA_CHILLING_TOUCH", - "value": 1673 + "name": "DOTA_LOADOUT_TYPE_MOUNT", + "value": 18 }, { - "name": "ACT_DOTA_ENFEEBLE", - "value": 1674 + "name": "DOTA_LOADOUT_TYPE_SUMMON", + "value": 19 }, { - "name": "ACT_DOTA_FATAL_BONDS", - "value": 1675 + "name": "DOTA_LOADOUT_TYPE_SHAPESHIFT", + "value": 20 }, { - "name": "ACT_DOTA_MIDNIGHT_PULSE", - "value": 1676 + "name": "DOTA_LOADOUT_TYPE_TAUNT", + "value": 21 }, { - "name": "ACT_DOTA_ANCESTRAL_SPIRIT", - "value": 1677 + "name": "DOTA_LOADOUT_TYPE_HERO_EFFIGY", + "value": 22 }, { - "name": "ACT_DOTA_THUNDER_STRIKE", - "value": 1678 + "name": "DOTA_LOADOUT_TYPE_AMBIENT_EFFECTS", + "value": 23 }, { - "name": "ACT_DOTA_KINETIC_FIELD", - "value": 1679 + "name": "DOTA_LOADOUT_TYPE_ABILITY_ATTACK", + "value": 24 }, { - "name": "ACT_DOTA_STATIC_STORM", - "value": 1680 + "name": "DOTA_LOADOUT_TYPE_ABILITY1", + "value": 25 }, { - "name": "ACT_DOTA_MINI_TAUNT", - "value": 1681 + "name": "DOTA_LOADOUT_TYPE_ABILITY2", + "value": 26 }, { - "name": "ACT_DOTA_ARCTIC_BURN_END", - "value": 1682 + "name": "DOTA_LOADOUT_TYPE_ABILITY3", + "value": 27 }, { - "name": "ACT_DOTA_LOADOUT_RARE", - "value": 1683 + "name": "DOTA_LOADOUT_TYPE_ABILITY4", + "value": 28 }, { - "name": "ACT_DOTA_SWIM", - "value": 1684 + "name": "DOTA_LOADOUT_TYPE_ABILITY_ULTIMATE", + "value": 29 }, { - "name": "ACT_DOTA_FLEE", - "value": 1685 + "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_1", + "value": 30 }, { - "name": "ACT_DOTA_TROT", - "value": 1686 + "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_2", + "value": 31 }, { - "name": "ACT_DOTA_SHAKE", - "value": 1687 + "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_3", + "value": 32 }, { - "name": "ACT_DOTA_SWIM_IDLE", - "value": 1688 + "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_4", + "value": 33 }, { - "name": "ACT_DOTA_WAIT_IDLE", - "value": 1689 + "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_5", + "value": 34 }, { - "name": "ACT_DOTA_GREET", - "value": 1690 + "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_6", + "value": 35 }, { - "name": "ACT_DOTA_TELEPORT_COOP_START", - "value": 1691 + "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_7", + "value": 36 }, { - "name": "ACT_DOTA_TELEPORT_COOP_WAIT", - "value": 1692 + "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_8", + "value": 37 }, { - "name": "ACT_DOTA_TELEPORT_COOP_END", - "value": 1693 + "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_9", + "value": 38 }, { - "name": "ACT_DOTA_TELEPORT_COOP_EXIT", - "value": 1694 + "name": "DOTA_LOADOUT_TYPE_VOICE", + "value": 39 }, { - "name": "ACT_DOTA_SHOPKEEPER_PET_INTERACT", - "value": 1695 + "name": "DOTA_LOADOUT_TYPE_WEAPON_PERSONA_1", + "value": 40 }, { - "name": "ACT_DOTA_ITEM_PICKUP", - "value": 1696 + "name": "DOTA_LOADOUT_TYPE_OFFHAND_WEAPON_PERSONA_1", + "value": 41 }, { - "name": "ACT_DOTA_ITEM_DROP", - "value": 1697 + "name": "DOTA_LOADOUT_TYPE_WEAPON2_PERSONA_1", + "value": 42 }, { - "name": "ACT_DOTA_CAPTURE_PET", - "value": 1698 + "name": "DOTA_LOADOUT_TYPE_OFFHAND_WEAPON2_PERSONA_1", + "value": 43 }, { - "name": "ACT_DOTA_PET_WARD_OBSERVER", - "value": 1699 + "name": "DOTA_LOADOUT_TYPE_HEAD_PERSONA_1", + "value": 44 }, { - "name": "ACT_DOTA_PET_WARD_SENTRY", - "value": 1700 + "name": "DOTA_LOADOUT_TYPE_SHOULDER_PERSONA_1", + "value": 45 }, { - "name": "ACT_DOTA_PET_LEVEL", - "value": 1701 + "name": "DOTA_LOADOUT_TYPE_ARMS_PERSONA_1", + "value": 46 }, { - "name": "ACT_DOTA_CAST_BURROW_END", - "value": 1702 + "name": "DOTA_LOADOUT_TYPE_ARMOR_PERSONA_1", + "value": 47 }, { - "name": "ACT_DOTA_LIFESTEALER_ASSIMILATE", - "value": 1703 + "name": "DOTA_LOADOUT_TYPE_BELT_PERSONA_1", + "value": 48 }, { - "name": "ACT_DOTA_LIFESTEALER_EJECT", - "value": 1704 + "name": "DOTA_LOADOUT_TYPE_NECK_PERSONA_1", + "value": 49 }, { - "name": "ACT_DOTA_ATTACK_EVENT_BASH", - "value": 1705 + "name": "DOTA_LOADOUT_TYPE_BACK_PERSONA_1", + "value": 50 }, { - "name": "ACT_DOTA_CAPTURE_RARE", - "value": 1706 + "name": "DOTA_LOADOUT_TYPE_LEGS_PERSONA_1", + "value": 51 }, { - "name": "ACT_DOTA_AW_MAGNETIC_FIELD", - "value": 1707 + "name": "DOTA_LOADOUT_TYPE_GLOVES_PERSONA_1", + "value": 52 }, { - "name": "ACT_DOTA_CAST_GHOST_SHIP", - "value": 1708 + "name": "DOTA_LOADOUT_TYPE_TAIL_PERSONA_1", + "value": 53 }, { - "name": "ACT_DOTA_FXANIM", - "value": 1709 + "name": "DOTA_LOADOUT_TYPE_MISC_PERSONA_1", + "value": 54 }, { - "name": "ACT_DOTA_VICTORY_START", - "value": 1710 + "name": "DOTA_LOADOUT_TYPE_BODY_HEAD_PERSONA_1", + "value": 55 }, { - "name": "ACT_DOTA_DEFEAT_START", - "value": 1711 + "name": "DOTA_LOADOUT_TYPE_MOUNT_PERSONA_1", + "value": 56 }, { - "name": "ACT_DOTA_DP_SPIRIT_SIPHON", - "value": 1712 + "name": "DOTA_LOADOUT_TYPE_SUMMON_PERSONA_1", + "value": 57 }, { - "name": "ACT_DOTA_TRICKS_END", - "value": 1713 + "name": "DOTA_LOADOUT_TYPE_SHAPESHIFT_PERSONA_1", + "value": 58 }, { - "name": "ACT_DOTA_ES_STONE_CALLER", - "value": 1714 + "name": "DOTA_LOADOUT_TYPE_TAUNT_PERSONA_1", + "value": 59 }, { - "name": "ACT_DOTA_MK_STRIKE", - "value": 1715 + "name": "DOTA_LOADOUT_TYPE_HERO_EFFIGY_PERSONA_1", + "value": 60 }, { - "name": "ACT_DOTA_VERSUS", - "value": 1716 + "name": "DOTA_LOADOUT_TYPE_AMBIENT_EFFECTS_PERSONA_1", + "value": 61 }, { - "name": "ACT_DOTA_CAPTURE_CARD", - "value": 1717 + "name": "DOTA_LOADOUT_TYPE_ABILITY_ATTACK_PERSONA_1", + "value": 62 }, { - "name": "ACT_DOTA_MK_SPRING_SOAR", - "value": 1718 + "name": "DOTA_LOADOUT_TYPE_ABILITY1_PERSONA_1", + "value": 63 }, { - "name": "ACT_DOTA_MK_SPRING_END", - "value": 1719 + "name": "DOTA_LOADOUT_TYPE_ABILITY2_PERSONA_1", + "value": 64 }, { - "name": "ACT_DOTA_MK_TREE_SOAR", - "value": 1720 + "name": "DOTA_LOADOUT_TYPE_ABILITY3_PERSONA_1", + "value": 65 }, { - "name": "ACT_DOTA_MK_TREE_END", - "value": 1721 + "name": "DOTA_LOADOUT_TYPE_ABILITY4_PERSONA_1", + "value": 66 }, { - "name": "ACT_DOTA_MK_FUR_ARMY", - "value": 1722 + "name": "DOTA_LOADOUT_TYPE_ABILITY_ULTIMATE_PERSONA_1", + "value": 67 }, { - "name": "ACT_DOTA_MK_SPRING_CAST", - "value": 1723 + "name": "DOTA_LOADOUT_TYPE_VOICE_PERSONA_1", + "value": 68 }, { - "name": "ACT_DOTA_NECRO_GHOST_SHROUD", - "value": 1724 + "name": "DOTA_LOADOUT_PERSONA_1_START", + "value": 40 }, { - "name": "ACT_DOTA_OVERRIDE_ARCANA", - "value": 1725 + "name": "DOTA_LOADOUT_PERSONA_1_END", + "value": 68 }, { - "name": "ACT_DOTA_SLIDE", - "value": 1726 + "name": "DOTA_LOADOUT_TYPE_PERSONA_SELECTOR", + "value": 69 }, { - "name": "ACT_DOTA_SLIDE_LOOP", - "value": 1727 + "name": "DOTA_LOADOUT_TYPE_COURIER", + "value": 70 }, { - "name": "ACT_DOTA_GENERIC_CHANNEL_1", - "value": 1728 + "name": "DOTA_LOADOUT_TYPE_ANNOUNCER", + "value": 71 }, { - "name": "ACT_DOTA_GS_SOUL_CHAIN", - "value": 1729 + "name": "DOTA_LOADOUT_TYPE_MEGA_KILLS", + "value": 72 }, { - "name": "ACT_DOTA_GS_INK_CREATURE", - "value": 1730 + "name": "DOTA_LOADOUT_TYPE_MUSIC", + "value": 73 }, { - "name": "ACT_DOTA_TRANSITION", - "value": 1731 + "name": "DOTA_LOADOUT_TYPE_WARD", + "value": 74 }, { - "name": "ACT_DOTA_BLINK_DAGGER", - "value": 1732 + "name": "DOTA_LOADOUT_TYPE_HUD_SKIN", + "value": 75 }, { - "name": "ACT_DOTA_BLINK_DAGGER_END", - "value": 1733 + "name": "DOTA_LOADOUT_TYPE_LOADING_SCREEN", + "value": 76 }, { - "name": "ACT_DOTA_CUSTOM_TOWER_ATTACK", - "value": 1734 + "name": "DOTA_LOADOUT_TYPE_WEATHER", + "value": 77 }, { - "name": "ACT_DOTA_CUSTOM_TOWER_IDLE", - "value": 1735 + "name": "DOTA_LOADOUT_TYPE_HEROIC_STATUE", + "value": 78 }, { - "name": "ACT_DOTA_CUSTOM_TOWER_DIE", - "value": 1736 + "name": "DOTA_LOADOUT_TYPE_MULTIKILL_BANNER", + "value": 79 }, { - "name": "ACT_DOTA_CAST_COLD_SNAP_ORB", - "value": 1737 + "name": "DOTA_LOADOUT_TYPE_CURSOR_PACK", + "value": 80 }, { - "name": "ACT_DOTA_CAST_GHOST_WALK_ORB", - "value": 1738 + "name": "DOTA_LOADOUT_TYPE_TELEPORT_EFFECT", + "value": 81 }, { - "name": "ACT_DOTA_CAST_TORNADO_ORB", - "value": 1739 + "name": "DOTA_LOADOUT_TYPE_BLINK_EFFECT", + "value": 82 }, { - "name": "ACT_DOTA_CAST_EMP_ORB", - "value": 1740 + "name": "DOTA_LOADOUT_TYPE_EMBLEM", + "value": 83 }, { - "name": "ACT_DOTA_CAST_ALACRITY_ORB", - "value": 1741 + "name": "DOTA_LOADOUT_TYPE_TERRAIN", + "value": 84 }, { - "name": "ACT_DOTA_CAST_CHAOS_METEOR_ORB", - "value": 1742 - }, - { - "name": "ACT_DOTA_CAST_SUN_STRIKE_ORB", - "value": 1743 - }, - { - "name": "ACT_DOTA_CAST_FORGE_SPIRIT_ORB", - "value": 1744 - }, - { - "name": "ACT_DOTA_CAST_ICE_WALL_ORB", - "value": 1745 - }, - { - "name": "ACT_DOTA_CAST_DEAFENING_BLAST_ORB", - "value": 1746 - }, - { - "name": "ACT_DOTA_NOTICE", - "value": 1747 - }, - { - "name": "ACT_DOTA_CAST_ABILITY_2_ALLY", - "value": 1748 - }, - { - "name": "ACT_DOTA_SHUFFLE_L", - "value": 1749 - }, - { - "name": "ACT_DOTA_SHUFFLE_R", - "value": 1750 - }, - { - "name": "ACT_DOTA_OVERRIDE_LOADOUT", - "value": 1751 - }, - { - "name": "ACT_DOTA_TAUNT_SPECIAL", - "value": 1752 - }, - { - "name": "ACT_DOTA_TELEPORT_START", - "value": 1753 - }, - { - "name": "ACT_DOTA_GENERIC_CHANNEL_1_START", - "value": 1754 + "name": "DOTA_LOADOUT_TYPE_RADIANT_CREEPS", + "value": 85 }, { - "name": "ACT_DOTA_CUSTOM_TOWER_IDLE_RARE", - "value": 1755 + "name": "DOTA_LOADOUT_TYPE_DIRE_CREEPS", + "value": 86 }, { - "name": "ACT_DOTA_CUSTOM_TOWER_TAUNT", - "value": 1756 + "name": "DOTA_LOADOUT_TYPE_RADIANT_TOWER", + "value": 87 }, { - "name": "ACT_DOTA_CUSTOM_TOWER_HIGH_FIVE", - "value": 1757 + "name": "DOTA_LOADOUT_TYPE_DIRE_TOWER", + "value": 88 }, { - "name": "ACT_DOTA_ATTACK_SPECIAL", - "value": 1758 + "name": "DOTA_LOADOUT_TYPE_VERSUS_SCREEN", + "value": 89 }, { - "name": "ACT_DOTA_TRANSITION_IDLE", - "value": 1759 + "name": "DOTA_LOADOUT_TYPE_STREAK_EFFECT", + "value": 90 }, { - "name": "ACT_DOTA_PIERCE_THE_VEIL", - "value": 1760 + "name": "DOTA_LOADOUT_TYPE_KILL_EFFECT", + "value": 91 }, { - "name": "ACT_DOTA_RUN_RARE", - "value": 1761 + "name": "DOTA_LOADOUT_TYPE_DEATH_EFFECT", + "value": 92 }, { - "name": "ACT_DOTA_VIPER_DIVE", - "value": 1762 + "name": "DOTA_LOADOUT_TYPE_HEAD_EFFECT", + "value": 93 }, { - "name": "ACT_DOTA_VIPER_DIVE_END", - "value": 1763 + "name": "DOTA_LOADOUT_TYPE_MAP_EFFECT", + "value": 94 }, { - "name": "ACT_DOTA_MK_STRIKE_END", - "value": 1764 + "name": "DOTA_LOADOUT_TYPE_COURIER_EFFECT", + "value": 95 }, { - "name": "ACT_DOTA_SHADOW_VAULT", - "value": 1765 + "name": "DOTA_LOADOUT_TYPE_RADIANT_SIEGE_CREEPS", + "value": 96 }, { - "name": "ACT_DOTA_KEZ_KATANA_ULT_START", - "value": 1766 + "name": "DOTA_LOADOUT_TYPE_DIRE_SIEGE_CREEPS", + "value": 97 }, { - "name": "ACT_DOTA_KEZ_KATANA_ULT_CHAIN_A", - "value": 1767 + "name": "DOTA_LOADOUT_TYPE_ROSHAN", + "value": 98 }, { - "name": "ACT_DOTA_KEZ_KATANA_ULT_CHAIN_B", - "value": 1768 + "name": "DOTA_LOADOUT_TYPE_TORMENTOR", + "value": 99 }, { - "name": "ACT_DOTA_KEZ_KATANA_ULT_END", - "value": 1769 + "name": "DOTA_LOADOUT_TYPE_ANCIENT", + "value": 100 }, { - "name": "ACT_DOTA_KEZ_KATANA_IMPALE", - "value": 1770 + "name": "DOTA_PLAYER_LOADOUT_START", + "value": 70 }, { - "name": "ACT_DOTA_KEZ_KATANA_IMPALE_FAST", - "value": 1771 + "name": "DOTA_PLAYER_LOADOUT_END", + "value": 100 }, { - "name": "ACT_DOTA_UNICYCLE", - "value": 1772 + "name": "DOTA_LOADOUT_TYPE_NONE", + "value": 101 }, { - "name": "ACT_DOTA_UNICYCLE_END", - "value": 1773 + "name": "DOTA_LOADOUT_TYPE_COUNT", + "value": 102 } ] }, { - "name": "DOTAMinimapEvent_t", + "kind": "enum", + "name": "DOTASpeechType_t", + "available": "both", "members": [ { - "name": "DOTA_MINIMAP_EVENT_ANCIENT_UNDER_ATTACK", - "value": 2 - }, - { - "name": "DOTA_MINIMAP_EVENT_BASE_UNDER_ATTACK", - "value": 4 - }, - { - "name": "DOTA_MINIMAP_EVENT_BASE_GLYPHED", - "value": 8 - }, - { - "name": "DOTA_MINIMAP_EVENT_TEAMMATE_UNDER_ATTACK", - "value": 16 + "name": "DOTA_SPEECH_USER_INVALID", + "value": 0 }, { - "name": "DOTA_MINIMAP_EVENT_TEAMMATE_TELEPORTING", - "value": 32 + "name": "DOTA_SPEECH_USER_SINGLE", + "value": 1 }, { - "name": "DOTA_MINIMAP_EVENT_TEAMMATE_DIED", - "value": 64 + "name": "DOTA_SPEECH_USER_TEAM", + "value": 2 }, { - "name": "DOTA_MINIMAP_EVENT_TUTORIAL_TASK_ACTIVE", - "value": 128 + "name": "DOTA_SPEECH_USER_TEAM_NEARBY", + "value": 3 }, { - "name": "DOTA_MINIMAP_EVENT_TUTORIAL_TASK_FINISHED", - "value": 256 + "name": "DOTA_SPEECH_USER_NEARBY", + "value": 4 }, { - "name": "DOTA_MINIMAP_EVENT_HINT_LOCATION", - "value": 512 + "name": "DOTA_SPEECH_USER_ALL", + "value": 5 }, { - "name": "DOTA_MINIMAP_EVENT_ENEMY_TELEPORTING", - "value": 1024 + "name": "DOTA_SPEECH_GOOD_TEAM", + "value": 6 }, { - "name": "DOTA_MINIMAP_EVENT_CANCEL_TELEPORTING", - "value": 2048 + "name": "DOTA_SPEECH_BAD_TEAM", + "value": 7 }, { - "name": "DOTA_MINIMAP_EVENT_RADAR", - "value": 4096 + "name": "DOTA_SPEECH_SPECTATOR", + "value": 8 }, { - "name": "DOTA_MINIMAP_EVENT_RADAR_TARGET", - "value": 8192 + "name": "DOTA_SPEECH_USER_TEAM_NOSPECTATOR", + "value": 9 }, { - "name": "DOTA_MINIMAP_EVENT_MOVE_TO_TARGET", - "value": 16384 + "name": "DOTA_SPEECH_RECIPIENT_TYPE_MAX", + "value": 10 } ] }, { - "name": "DOTASlotType_t", + "kind": "enum", + "name": "DOTATeam_t", + "available": "both", "members": [ { - "name": "DOTA_LOADOUT_TYPE_INVALID", - "value": -1 - }, - { - "name": "DOTA_LOADOUT_TYPE_WEAPON", - "value": 0 - }, - { - "name": "DOTA_LOADOUT_TYPE_OFFHAND_WEAPON", - "value": 1 + "name": "DOTA_TEAM_FIRST", + "value": 2 }, { - "name": "DOTA_LOADOUT_TYPE_WEAPON2", + "name": "DOTA_TEAM_GOODGUYS", "value": 2 }, { - "name": "DOTA_LOADOUT_TYPE_OFFHAND_WEAPON2", + "name": "DOTA_TEAM_BADGUYS", "value": 3 }, { - "name": "DOTA_LOADOUT_TYPE_HEAD", + "name": "DOTA_TEAM_NEUTRALS", "value": 4 }, { - "name": "DOTA_LOADOUT_TYPE_SHOULDER", + "name": "DOTA_TEAM_NOTEAM", "value": 5 }, { - "name": "DOTA_LOADOUT_TYPE_ARMS", + "name": "DOTA_TEAM_CUSTOM_1", "value": 6 }, { - "name": "DOTA_LOADOUT_TYPE_ARMOR", + "name": "DOTA_TEAM_CUSTOM_2", "value": 7 }, { - "name": "DOTA_LOADOUT_TYPE_BELT", + "name": "DOTA_TEAM_CUSTOM_3", "value": 8 }, { - "name": "DOTA_LOADOUT_TYPE_NECK", + "name": "DOTA_TEAM_CUSTOM_4", "value": 9 }, { - "name": "DOTA_LOADOUT_TYPE_BACK", + "name": "DOTA_TEAM_CUSTOM_5", "value": 10 }, { - "name": "DOTA_LOADOUT_TYPE_GLOVES", + "name": "DOTA_TEAM_CUSTOM_6", "value": 11 }, { - "name": "DOTA_LOADOUT_TYPE_LEGS", + "name": "DOTA_TEAM_CUSTOM_7", "value": 12 }, { - "name": "DOTA_LOADOUT_TYPE_TAIL", + "name": "DOTA_TEAM_CUSTOM_8", "value": 13 }, { - "name": "DOTA_LOADOUT_TYPE_MISC", + "name": "DOTA_TEAM_DRAFT_POOL", "value": 14 }, { - "name": "DOTA_LOADOUT_TYPE_COSTUME", + "name": "DOTA_TEAM_COUNT", "value": 15 }, { - "name": "DOTA_LOADOUT_TYPE_HERO_BASE", - "value": 16 + "name": "DOTA_TEAM_CUSTOM_MIN", + "value": 6 }, { - "name": "DOTA_LOADOUT_TYPE_BODY_HEAD", - "value": 17 + "name": "DOTA_TEAM_CUSTOM_MAX", + "value": 13 }, { - "name": "DOTA_LOADOUT_TYPE_MOUNT", - "value": 18 - }, + "name": "DOTA_TEAM_CUSTOM_COUNT", + "value": 8 + } + ] + }, + { + "kind": "enum", + "name": "DOTAUnitAttackCapability_t", + "available": "both", + "members": [ { - "name": "DOTA_LOADOUT_TYPE_SUMMON", - "value": 19 + "name": "DOTA_UNIT_CAP_NO_ATTACK", + "value": 0 }, { - "name": "DOTA_LOADOUT_TYPE_SHAPESHIFT", - "value": 20 + "name": "DOTA_UNIT_CAP_MELEE_ATTACK", + "value": 1 }, { - "name": "DOTA_LOADOUT_TYPE_TAUNT", - "value": 21 + "name": "DOTA_UNIT_CAP_RANGED_ATTACK", + "value": 2 }, { - "name": "DOTA_LOADOUT_TYPE_HERO_EFFIGY", - "value": 22 + "name": "DOTA_UNIT_CAP_RANGED_ATTACK_DIRECTIONAL", + "value": 4 }, { - "name": "DOTA_LOADOUT_TYPE_AMBIENT_EFFECTS", - "value": 23 - }, + "name": "DOTA_UNIT_ATTACK_CAPABILITY_BIT_COUNT", + "value": 3 + } + ] + }, + { + "kind": "enum", + "name": "DOTAUnitMoveCapability_t", + "available": "both", + "members": [ { - "name": "DOTA_LOADOUT_TYPE_ABILITY_ATTACK", - "value": 24 + "name": "DOTA_UNIT_CAP_MOVE_NONE", + "value": 0 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY1", - "value": 25 + "name": "DOTA_UNIT_CAP_MOVE_GROUND", + "value": 1 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY2", - "value": 26 - }, + "name": "DOTA_UNIT_CAP_MOVE_FLY", + "value": 2 + } + ] + }, + { + "kind": "enum", + "name": "dotaunitorder_t", + "available": "both", + "members": [ { - "name": "DOTA_LOADOUT_TYPE_ABILITY3", - "value": 27 + "name": "DOTA_UNIT_ORDER_NONE", + "value": 0 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY4", - "value": 28 + "name": "DOTA_UNIT_ORDER_MOVE_TO_POSITION", + "value": 1 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_ULTIMATE", - "value": 29 + "name": "DOTA_UNIT_ORDER_MOVE_TO_TARGET", + "value": 2 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_1", - "value": 30 + "name": "DOTA_UNIT_ORDER_ATTACK_MOVE", + "value": 3 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_2", - "value": 31 + "name": "DOTA_UNIT_ORDER_ATTACK_TARGET", + "value": 4 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_3", - "value": 32 + "name": "DOTA_UNIT_ORDER_CAST_POSITION", + "value": 5 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_4", - "value": 33 + "name": "DOTA_UNIT_ORDER_CAST_TARGET", + "value": 6 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_5", - "value": 34 + "name": "DOTA_UNIT_ORDER_CAST_TARGET_TREE", + "value": 7 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_6", - "value": 35 + "name": "DOTA_UNIT_ORDER_CAST_NO_TARGET", + "value": 8 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_7", - "value": 36 + "name": "DOTA_UNIT_ORDER_CAST_TOGGLE", + "value": 9 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_8", - "value": 37 + "name": "DOTA_UNIT_ORDER_HOLD_POSITION", + "value": 10 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_EFFECTS_9", - "value": 38 + "name": "DOTA_UNIT_ORDER_TRAIN_ABILITY", + "value": 11 }, { - "name": "DOTA_LOADOUT_TYPE_VOICE", - "value": 39 + "name": "DOTA_UNIT_ORDER_DROP_ITEM", + "value": 12 }, { - "name": "DOTA_LOADOUT_TYPE_WEAPON_PERSONA_1", - "value": 40 + "name": "DOTA_UNIT_ORDER_GIVE_ITEM", + "value": 13 }, { - "name": "DOTA_LOADOUT_TYPE_OFFHAND_WEAPON_PERSONA_1", - "value": 41 + "name": "DOTA_UNIT_ORDER_PICKUP_ITEM", + "value": 14 }, { - "name": "DOTA_LOADOUT_TYPE_WEAPON2_PERSONA_1", - "value": 42 + "name": "DOTA_UNIT_ORDER_PICKUP_RUNE", + "value": 15 }, { - "name": "DOTA_LOADOUT_TYPE_OFFHAND_WEAPON2_PERSONA_1", - "value": 43 + "name": "DOTA_UNIT_ORDER_PURCHASE_ITEM", + "value": 16 }, { - "name": "DOTA_LOADOUT_TYPE_HEAD_PERSONA_1", - "value": 44 + "name": "DOTA_UNIT_ORDER_SELL_ITEM", + "value": 17 }, { - "name": "DOTA_LOADOUT_TYPE_SHOULDER_PERSONA_1", - "value": 45 + "name": "DOTA_UNIT_ORDER_DISASSEMBLE_ITEM", + "value": 18 }, { - "name": "DOTA_LOADOUT_TYPE_ARMS_PERSONA_1", - "value": 46 + "name": "DOTA_UNIT_ORDER_MOVE_ITEM", + "value": 19 }, { - "name": "DOTA_LOADOUT_TYPE_ARMOR_PERSONA_1", - "value": 47 + "name": "DOTA_UNIT_ORDER_CAST_TOGGLE_AUTO", + "value": 20 }, { - "name": "DOTA_LOADOUT_TYPE_BELT_PERSONA_1", - "value": 48 + "name": "DOTA_UNIT_ORDER_STOP", + "value": 21 }, { - "name": "DOTA_LOADOUT_TYPE_NECK_PERSONA_1", - "value": 49 + "name": "DOTA_UNIT_ORDER_TAUNT", + "value": 22 }, { - "name": "DOTA_LOADOUT_TYPE_BACK_PERSONA_1", - "value": 50 + "name": "DOTA_UNIT_ORDER_BUYBACK", + "value": 23 }, { - "name": "DOTA_LOADOUT_TYPE_LEGS_PERSONA_1", - "value": 51 + "name": "DOTA_UNIT_ORDER_GLYPH", + "value": 24 }, { - "name": "DOTA_LOADOUT_TYPE_GLOVES_PERSONA_1", - "value": 52 + "name": "DOTA_UNIT_ORDER_EJECT_ITEM_FROM_STASH", + "value": 25 }, { - "name": "DOTA_LOADOUT_TYPE_TAIL_PERSONA_1", - "value": 53 + "name": "DOTA_UNIT_ORDER_CAST_RUNE", + "value": 26 }, { - "name": "DOTA_LOADOUT_TYPE_MISC_PERSONA_1", - "value": 54 + "name": "DOTA_UNIT_ORDER_PING_ABILITY", + "value": 27 }, { - "name": "DOTA_LOADOUT_TYPE_BODY_HEAD_PERSONA_1", - "value": 55 + "name": "DOTA_UNIT_ORDER_MOVE_TO_DIRECTION", + "value": 28 }, { - "name": "DOTA_LOADOUT_TYPE_MOUNT_PERSONA_1", - "value": 56 + "name": "DOTA_UNIT_ORDER_PATROL", + "value": 29 }, { - "name": "DOTA_LOADOUT_TYPE_SUMMON_PERSONA_1", - "value": 57 + "name": "DOTA_UNIT_ORDER_VECTOR_TARGET_POSITION", + "value": 30 }, { - "name": "DOTA_LOADOUT_TYPE_SHAPESHIFT_PERSONA_1", - "value": 58 + "name": "DOTA_UNIT_ORDER_RADAR", + "value": 31 }, { - "name": "DOTA_LOADOUT_TYPE_TAUNT_PERSONA_1", - "value": 59 + "name": "DOTA_UNIT_ORDER_SET_ITEM_COMBINE_LOCK", + "value": 32 }, { - "name": "DOTA_LOADOUT_TYPE_HERO_EFFIGY_PERSONA_1", - "value": 60 + "name": "DOTA_UNIT_ORDER_CONTINUE", + "value": 33 }, { - "name": "DOTA_LOADOUT_TYPE_AMBIENT_EFFECTS_PERSONA_1", - "value": 61 + "name": "DOTA_UNIT_ORDER_VECTOR_TARGET_CANCELED", + "value": 34 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_ATTACK_PERSONA_1", - "value": 62 + "name": "DOTA_UNIT_ORDER_CAST_RIVER_PAINT", + "value": 35 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY1_PERSONA_1", - "value": 63 + "name": "DOTA_UNIT_ORDER_PREGAME_ADJUST_ITEM_ASSIGNMENT", + "value": 36 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY2_PERSONA_1", - "value": 64 + "name": "DOTA_UNIT_ORDER_DROP_ITEM_AT_FOUNTAIN", + "value": 37 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY3_PERSONA_1", - "value": 65 + "name": "DOTA_UNIT_ORDER_TAKE_ITEM_FROM_NEUTRAL_ITEM_STASH", + "value": 38 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY4_PERSONA_1", - "value": 66 + "name": "DOTA_UNIT_ORDER_MOVE_RELATIVE", + "value": 39 }, { - "name": "DOTA_LOADOUT_TYPE_ABILITY_ULTIMATE_PERSONA_1", - "value": 67 + "name": "DOTA_UNIT_ORDER_CAST_TOGGLE_ALT", + "value": 40 }, { - "name": "DOTA_LOADOUT_TYPE_VOICE_PERSONA_1", - "value": 68 + "name": "DOTA_UNIT_ORDER_CONSUME_ITEM", + "value": 41 }, { - "name": "DOTA_LOADOUT_PERSONA_1_START", - "value": 40 - }, + "name": "DOTA_UNIT_ORDER_SET_ITEM_MARK_FOR_SELL", + "value": 42 + } + ] + }, + { + "kind": "enum", + "name": "EDOTA_ModifyGold_Reason", + "available": "both", + "members": [ { - "name": "DOTA_LOADOUT_PERSONA_1_END", - "value": 68 + "name": "DOTA_ModifyGold_Unspecified", + "value": 0 }, { - "name": "DOTA_LOADOUT_TYPE_PERSONA_SELECTOR", - "value": 69 + "name": "DOTA_ModifyGold_Death", + "value": 1 }, { - "name": "DOTA_LOADOUT_TYPE_COURIER", - "value": 70 + "name": "DOTA_ModifyGold_Buyback", + "value": 2 }, { - "name": "DOTA_LOADOUT_TYPE_ANNOUNCER", - "value": 71 + "name": "DOTA_ModifyGold_PurchaseConsumable", + "value": 3 }, { - "name": "DOTA_LOADOUT_TYPE_MEGA_KILLS", - "value": 72 + "name": "DOTA_ModifyGold_PurchaseItem", + "value": 4 }, { - "name": "DOTA_LOADOUT_TYPE_MUSIC", - "value": 73 + "name": "DOTA_ModifyGold_AbandonedRedistribute", + "value": 5 }, { - "name": "DOTA_LOADOUT_TYPE_WARD", - "value": 74 + "name": "DOTA_ModifyGold_SellItem", + "value": 6 }, { - "name": "DOTA_LOADOUT_TYPE_HUD_SKIN", - "value": 75 + "name": "DOTA_ModifyGold_AbilityCost", + "value": 7 }, { - "name": "DOTA_LOADOUT_TYPE_LOADING_SCREEN", - "value": 76 + "name": "DOTA_ModifyGold_CheatCommand", + "value": 8 }, { - "name": "DOTA_LOADOUT_TYPE_WEATHER", - "value": 77 + "name": "DOTA_ModifyGold_SelectionPenalty", + "value": 9 }, { - "name": "DOTA_LOADOUT_TYPE_HEROIC_STATUE", - "value": 78 - }, - { - "name": "DOTA_LOADOUT_TYPE_MULTIKILL_BANNER", - "value": 79 - }, - { - "name": "DOTA_LOADOUT_TYPE_CURSOR_PACK", - "value": 80 - }, - { - "name": "DOTA_LOADOUT_TYPE_TELEPORT_EFFECT", - "value": 81 - }, - { - "name": "DOTA_LOADOUT_TYPE_BLINK_EFFECT", - "value": 82 - }, - { - "name": "DOTA_LOADOUT_TYPE_EMBLEM", - "value": 83 - }, - { - "name": "DOTA_LOADOUT_TYPE_TERRAIN", - "value": 84 + "name": "DOTA_ModifyGold_GameTick", + "value": 10 }, { - "name": "DOTA_LOADOUT_TYPE_RADIANT_CREEPS", - "value": 85 + "name": "DOTA_ModifyGold_Building", + "value": 11 }, { - "name": "DOTA_LOADOUT_TYPE_DIRE_CREEPS", - "value": 86 + "name": "DOTA_ModifyGold_HeroKill", + "value": 12 }, { - "name": "DOTA_LOADOUT_TYPE_RADIANT_TOWER", - "value": 87 + "name": "DOTA_ModifyGold_CreepKill", + "value": 13 }, { - "name": "DOTA_LOADOUT_TYPE_DIRE_TOWER", - "value": 88 + "name": "DOTA_ModifyGold_NeutralKill", + "value": 14 }, { - "name": "DOTA_LOADOUT_TYPE_VERSUS_SCREEN", - "value": 89 + "name": "DOTA_ModifyGold_RoshanKill", + "value": 15 }, { - "name": "DOTA_LOADOUT_TYPE_STREAK_EFFECT", - "value": 90 + "name": "DOTA_ModifyGold_CourierKill", + "value": 16 }, { - "name": "DOTA_LOADOUT_TYPE_KILL_EFFECT", - "value": 91 + "name": "DOTA_ModifyGold_BountyRune", + "value": 17 }, { - "name": "DOTA_LOADOUT_TYPE_DEATH_EFFECT", - "value": 92 + "name": "DOTA_ModifyGold_SharedGold", + "value": 18 }, { - "name": "DOTA_LOADOUT_TYPE_HEAD_EFFECT", - "value": 93 + "name": "DOTA_ModifyGold_AbilityGold", + "value": 19 }, { - "name": "DOTA_LOADOUT_TYPE_MAP_EFFECT", - "value": 94 + "name": "DOTA_ModifyGold_WardKill", + "value": 20 }, { - "name": "DOTA_LOADOUT_TYPE_COURIER_EFFECT", - "value": 95 - }, + "name": "DOTA_ModifyGold_CourierKilledByThisPlayer", + "value": 21 + } + ] + }, + { + "kind": "enum", + "name": "EDOTA_ModifyXP_Reason", + "available": "both", + "members": [ { - "name": "DOTA_LOADOUT_TYPE_RADIANT_SIEGE_CREEPS", - "value": 96 + "name": "DOTA_ModifyXP_Unspecified", + "value": 0 }, { - "name": "DOTA_LOADOUT_TYPE_DIRE_SIEGE_CREEPS", - "value": 97 + "name": "DOTA_ModifyXP_HeroKill", + "value": 1 }, { - "name": "DOTA_LOADOUT_TYPE_ROSHAN", - "value": 98 + "name": "DOTA_ModifyXP_CreepKill", + "value": 2 }, { - "name": "DOTA_LOADOUT_TYPE_TORMENTOR", - "value": 99 + "name": "DOTA_ModifyXP_RoshanKill", + "value": 3 }, { - "name": "DOTA_LOADOUT_TYPE_ANCIENT", - "value": 100 + "name": "DOTA_ModifyXP_TomeOfKnowledge", + "value": 4 }, { - "name": "DOTA_PLAYER_LOADOUT_START", - "value": 70 + "name": "DOTA_ModifyXP_Outpost", + "value": 5 }, { - "name": "DOTA_PLAYER_LOADOUT_END", - "value": 100 + "name": "DOTA_ModifyXP_CatchUp", + "value": 6 }, { - "name": "DOTA_LOADOUT_TYPE_NONE", - "value": 101 + "name": "DOTA_ModifyXP_HeroAbility", + "value": 7 }, { - "name": "DOTA_LOADOUT_TYPE_COUNT", - "value": 102 + "name": "DOTA_ModifyXP_MAX", + "value": 8 } ] }, { - "name": "modifierfunction", + "kind": "enum", + "name": "EShareAbility", + "available": "both", "members": [ { - "name": "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE", - "description": "Method Name: `GetModifierPreAttack_BonusDamage`", + "name": "ITEM_FULLY_SHAREABLE", "value": 0 }, { - "name": "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_TARGET", - "description": "Method Name: `GetModifierPreAttack_BonusDamage_Target`", + "name": "ITEM_PARTIALLY_SHAREABLE", "value": 1 }, { - "name": "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_PROC", - "description": "Method Name: `GetModifierPreAttack_BonusDamage_Proc`", + "name": "ITEM_NOT_SHAREABLE", "value": 2 + } + ] + }, + { + "kind": "enum", + "name": "GameActivity_t", + "available": "both", + "members": [ + { + "name": "ACT_DOTA_IDLE", + "value": 1500 }, { - "name": "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_POST_CRIT", - "description": "Method Name: `GetModifierPreAttack_BonusDamagePostCrit`", - "value": 3 + "name": "ACT_DOTA_IDLE_RARE", + "value": 1501 }, { - "name": "MODIFIER_PROPERTY_BASEATTACK_BONUSDAMAGE", - "description": "Method Name: `GetModifierBaseAttack_BonusDamage`", - "value": 4 + "name": "ACT_DOTA_RUN", + "value": 1502 }, { - "name": "MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PHYSICAL", - "description": "Method Name: `GetModifierProcAttack_BonusDamage_Physical`", - "value": 5 + "name": "ACT_DOTA_ATTACK", + "value": 1503 }, { - "name": "MODIFIER_PROPERTY_PROCATTACK_CONVERT_PHYSICAL_TO_MAGICAL", - "description": "Method Name: `GetModifierProcAttack_ConvertPhysicalToMagical`", - "value": 6 + "name": "ACT_DOTA_ATTACK2", + "value": 1504 }, { - "name": "MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL", - "description": "Method Name: `GetModifierProcAttack_BonusDamage_Magical`", - "value": 7 + "name": "ACT_DOTA_ATTACK_EVENT", + "value": 1505 }, { - "name": "MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PURE", - "description": "Method Name: `GetModifierProcAttack_BonusDamage_Pure`", - "value": 8 + "name": "ACT_DOTA_DIE", + "value": 1506 }, { - "name": "MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL_TARGET", - "description": "Method Name: `GetModifierProcAttack_BonusDamage_Magical_Target`", - "value": 9 + "name": "ACT_DOTA_FLINCH", + "value": 1507 }, { - "name": "MODIFIER_PROPERTY_PROCATTACK_FEEDBACK", - "description": "Method Name: `GetModifierProcAttack_Feedback`", - "value": 10 + "name": "ACT_DOTA_FLAIL", + "value": 1508 }, { - "name": "MODIFIER_PROPERTY_OVERRIDE_ATTACK_DAMAGE", - "description": "Method Name: `GetModifierOverrideAttackDamage`", - "value": 11 + "name": "ACT_DOTA_DISABLED", + "value": 1509 }, { - "name": "MODIFIER_PROPERTY_PRE_ATTACK", - "description": "Method Name: `GetModifierPreAttack`", - "value": 12 + "name": "ACT_DOTA_CAST_ABILITY_1", + "value": 1510 }, { - "name": "MODIFIER_PROPERTY_INVISIBILITY_LEVEL", - "description": "Method Name: `GetModifierInvisibilityLevel`", - "value": 13 + "name": "ACT_DOTA_CAST_ABILITY_2", + "value": 1511 }, { - "name": "MODIFIER_PROPERTY_INVISIBILITY_ATTACK_BEHAVIOR_EXCEPTION", - "description": "Method Name: `GetModifierInvisibilityAttackBehaviorException`", - "value": 14 + "name": "ACT_DOTA_CAST_ABILITY_3", + "value": 1512 }, { - "name": "MODIFIER_PROPERTY_PERSISTENT_INVISIBILITY", - "description": "Method Name: `GetModifierPersistentInvisibility`", - "value": 15 + "name": "ACT_DOTA_CAST_ABILITY_4", + "value": 1513 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT", - "description": "Method Name: `GetModifierMoveSpeedBonus_Constant`", - "value": 16 + "name": "ACT_DOTA_CAST_ABILITY_5", + "value": 1514 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_BASE_OVERRIDE", - "description": "Method Name: `GetModifierMoveSpeedOverride`", - "value": 17 + "name": "ACT_DOTA_CAST_ABILITY_6", + "value": 1515 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_MIN_OVERRIDE", - "description": "Method Name: `GetModifierMoveSpeed_MinOverride`", - "value": 18 + "name": "ACT_DOTA_OVERRIDE_ABILITY_1", + "value": 1516 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_MAX_OVERRIDE", - "description": "Method Name: `GetModifierMoveSpeed_MaxOverride`", - "value": 19 + "name": "ACT_DOTA_OVERRIDE_ABILITY_2", + "value": 1517 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierMoveSpeedBonus_Percentage`", - "value": 20 + "name": "ACT_DOTA_OVERRIDE_ABILITY_3", + "value": 1518 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE_UNIQUE", - "description": "Method Name: `GetModifierMoveSpeedBonus_Percentage_Unique`", - "value": 21 + "name": "ACT_DOTA_OVERRIDE_ABILITY_4", + "value": 1519 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE", - "description": "Method Name: `GetModifierMoveSpeedBonus_Special_Boots`", - "value": 22 + "name": "ACT_DOTA_CHANNEL_ABILITY_1", + "value": 1520 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE_2", - "description": "Method Name: `GetModifierMoveSpeedBonus_Special_Boots_2`", - "value": 23 + "name": "ACT_DOTA_CHANNEL_ABILITY_2", + "value": 1521 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT_UNIQUE", - "description": "Method Name: `GetModifierMoveSpeedBonus_Constant_Unique`", - "value": 24 + "name": "ACT_DOTA_CHANNEL_ABILITY_3", + "value": 1522 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT_UNIQUE_2", - "description": "Method Name: `GetModifierMoveSpeedBonus_Constant_Unique_2`", - "value": 25 + "name": "ACT_DOTA_CHANNEL_ABILITY_4", + "value": 1523 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE", - "description": "Method Name: `GetModifierMoveSpeed_Absolute`", - "value": 26 + "name": "ACT_DOTA_CHANNEL_ABILITY_5", + "value": 1524 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE_MIN", - "description": "Method Name: `GetModifierMoveSpeed_AbsoluteMin`", - "value": 27 + "name": "ACT_DOTA_CHANNEL_ABILITY_6", + "value": 1525 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE_MAX", - "description": "Method Name: `GetModifierMoveSpeed_AbsoluteMax`", - "value": 28 + "name": "ACT_DOTA_CHANNEL_END_ABILITY_1", + "value": 1526 }, { - "name": "MODIFIER_PROPERTY_IGNORE_MOVESPEED_LIMIT", - "description": "Method Name: `GetModifierIgnoreMovespeedLimit`", - "value": 29 + "name": "ACT_DOTA_CHANNEL_END_ABILITY_2", + "value": 1527 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_LIMIT", - "description": "Method Name: `GetModifierMoveSpeed_Limit`", - "value": 30 + "name": "ACT_DOTA_CHANNEL_END_ABILITY_3", + "value": 1528 }, { - "name": "MODIFIER_PROPERTY_ATTACKSPEED_BASE_OVERRIDE", - "description": "Method Name: `GetModifierAttackSpeedBaseOverride`", - "value": 31 + "name": "ACT_DOTA_CHANNEL_END_ABILITY_4", + "value": 1529 }, { - "name": "MODIFIER_PROPERTY_FIXED_ATTACK_RATE", - "description": "Method Name: `GetModifierFixedAttackRate`", - "value": 32 + "name": "ACT_DOTA_CHANNEL_END_ABILITY_5", + "value": 1530 }, { - "name": "MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT", - "description": "Method Name: `GetModifierAttackSpeedBonus_Constant`", - "value": 33 + "name": "ACT_DOTA_CHANNEL_END_ABILITY_6", + "value": 1531 }, { - "name": "MODIFIER_PROPERTY_IGNORE_ATTACKSPEED_LIMIT", - "description": "Method Name: `GetModifierAttackSpeed_Limit`", - "value": 34 + "name": "ACT_DOTA_CONSTANT_LAYER", + "value": 1532 }, { - "name": "MODIFIER_PROPERTY_COOLDOWN_REDUCTION_CONSTANT", - "description": "Method Name: `GetModifierCooldownReduction_Constant`", - "value": 35 + "name": "ACT_DOTA_CAPTURE", + "value": 1533 }, { - "name": "MODIFIER_PROPERTY_MANACOST_REDUCTION_CONSTANT", - "description": "Method Name: `GetModifierManacostReduction_Constant`", - "value": 36 + "name": "ACT_DOTA_SPAWN", + "value": 1534 }, { - "name": "MODIFIER_PROPERTY_HEALTHCOST_REDUCTION_CONSTANT", - "description": "Method Name: `GetModifierHealthcostReduction_Constant`", - "value": 37 + "name": "ACT_DOTA_KILLTAUNT", + "value": 1535 }, { - "name": "MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT", - "description": "Method Name: `GetModifierBaseAttackTimeConstant`", - "value": 38 + "name": "ACT_DOTA_TAUNT", + "value": 1536 }, { - "name": "MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT_ADJUST", - "description": "Method Name: `GetModifierBaseAttackTimeConstant_Adjust`", - "value": 39 + "name": "ACT_DOTA_THIRST", + "value": 1537 }, { - "name": "MODIFIER_PROPERTY_BASE_ATTACK_TIME_PERCENTAGE", - "description": "Method Name: `GetModifierBaseAttackTimePercentage`", - "value": 40 + "name": "ACT_DOTA_CAST_DRAGONBREATH", + "value": 1538 }, { - "name": "MODIFIER_PROPERTY_ATTACK_POINT_CONSTANT", - "description": "Method Name: `GetModifierAttackPointConstant`", - "value": 41 + "name": "ACT_DOTA_ECHO_SLAM", + "value": 1539 }, { - "name": "MODIFIER_PROPERTY_BONUSDAMAGEOUTGOING_PERCENTAGE", - "description": "Method Name: `GetModifierBonusDamageOutgoing_Percentage`", - "value": 42 + "name": "ACT_DOTA_CAST_ABILITY_1_END", + "value": 1540 }, { - "name": "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE", - "description": "Method Name: `GetModifierDamageOutgoing_Percentage`", - "value": 43 + "name": "ACT_DOTA_CAST_ABILITY_2_END", + "value": 1541 }, { - "name": "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION", - "description": "Method Name: `GetModifierDamageOutgoing_Percentage_Illusion`", - "value": 44 + "name": "ACT_DOTA_CAST_ABILITY_3_END", + "value": 1542 }, { - "name": "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION_AMPLIFY", - "description": "Method Name: `GetModifierDamageOutgoing_Percentage_Illusion_Amplify`", - "value": 45 + "name": "ACT_DOTA_CAST_ABILITY_4_END", + "value": 1543 }, { - "name": "MODIFIER_PROPERTY_TOTALDAMAGEOUTGOING_PERCENTAGE", - "description": "Method Name: `GetModifierTotalDamageOutgoing_Percentage`", - "value": 46 + "name": "ACT_MIRANA_LEAP_END", + "value": 1544 }, { - "name": "MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_CREEP", - "description": "Method Name: `GetModifierSpellAmplify_PercentageCreep`", - "value": 47 + "name": "ACT_WAVEFORM_START", + "value": 1545 }, { - "name": "MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE", - "description": "Method Name: `GetModifierSpellAmplify_Percentage`", - "value": 48 + "name": "ACT_WAVEFORM_END", + "value": 1546 }, { - "name": "MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_UNIQUE", - "description": "Method Name: `GetModifierSpellAmplify_PercentageUnique`", - "value": 49 + "name": "ACT_DOTA_CAST_ABILITY_ROT", + "value": 1547 }, { - "name": "MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_TARGET", - "description": "Method Name: `GetModifierSpellAmplify_PercentageTarget`", - "value": 50 + "name": "ACT_DOTA_DIE_SPECIAL", + "value": 1548 }, { - "name": "MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_SOURCE", - "description": "Method Name: `GetModifierHealAmplify_PercentageSource`", - "value": 51 + "name": "ACT_DOTA_RATTLETRAP_BATTERYASSAULT", + "value": 1549 }, { - "name": "MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_TARGET", - "description": "Method Name: `GetModifierHealAmplify_PercentageTarget`", - "value": 52 + "name": "ACT_DOTA_RATTLETRAP_POWERCOGS", + "value": 1550 }, { - "name": "MODIFIER_PROPERTY_HP_REGEN_CAN_BE_NEGATIVE", - "description": "Method Name: `GetModifierHPRegen_CanBeNegative`", - "value": 53 + "name": "ACT_DOTA_RATTLETRAP_HOOKSHOT_START", + "value": 1551 }, { - "name": "MODIFIER_PROPERTY_HP_REGEN_AMPLIFY_PERCENTAGE", - "description": "Method Name: `GetModifierHPRegenAmplify_Percentage`", - "value": 54 + "name": "ACT_DOTA_RATTLETRAP_HOOKSHOT_LOOP", + "value": 1552 }, { - "name": "MODIFIER_PROPERTY_LIFESTEAL_AMPLIFY_PERCENTAGE", - "description": "Method Name: `GetModifierLifestealRegenAmplify_Percentage`", - "value": 55 + "name": "ACT_DOTA_RATTLETRAP_HOOKSHOT_END", + "value": 1553 }, { - "name": "MODIFIER_PROPERTY_SPELL_LIFESTEAL_AMPLIFY_PERCENTAGE", - "description": "Method Name: `GetModifierSpellLifestealRegenAmplify_Percentage`", - "value": 56 + "name": "ACT_STORM_SPIRIT_OVERLOAD_RUN_OVERRIDE", + "value": 1554 }, { - "name": "MODIFIER_PROPERTY_SPELL_LIFESTEAL_AMPLIFY_PERCENTAGE_UNIQUE", - "description": "Method Name: `GetModifierSpellLifestealRegenAmplify_Percentage_Unique`", - "value": 57 + "name": "ACT_DOTA_TINKER_REARM1", + "value": 1555 }, { - "name": "MODIFIER_PROPERTY_MP_REGEN_AMPLIFY_PERCENTAGE", - "description": "Method Name: `GetModifierMPRegenAmplify_Percentage`", - "value": 58 + "name": "ACT_DOTA_TINKER_REARM2", + "value": 1556 }, { - "name": "MODIFIER_PROPERTY_MP_REGEN_AMPLIFY_PERCENTAGE_UNIQUE", - "description": "Method Name: `GetModifierMPRegenAmplify_Percentage_Unique`", - "value": 59 + "name": "ACT_DOTA_TINKER_REARM3", + "value": 1557 }, { - "name": "MODIFIER_PROPERTY_MANA_DRAIN_AMPLIFY_PERCENTAGE", - "description": "Method Name: `GetModifierManaDrainAmplify_Percentage`", - "value": 60 + "name": "ACT_TINY_AVALANCHE", + "value": 1558 }, { - "name": "MODIFIER_PROPERTY_MP_RESTORE_AMPLIFY_PERCENTAGE", - "description": "Total amplify value is clamped to 0.\n\nMethod Name: `GetModifierMPRestoreAmplify_Percentage`.", - "value": 61 + "name": "ACT_TINY_TOSS", + "value": 1559 }, { - "name": "MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE", - "description": "Method Name: `GetModifierBaseDamageOutgoing_Percentage`", - "value": 62 + "name": "ACT_TINY_GROWL", + "value": 1560 }, { - "name": "MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE_UNIQUE", - "description": "Method Name: `GetModifierBaseDamageOutgoing_PercentageUnique`", - "value": 63 + "name": "ACT_DOTA_WEAVERBUG_ATTACH", + "value": 1561 }, { - "name": "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE", - "description": "Method Name: `GetModifierIncomingDamage_Percentage`", - "value": 64 + "name": "ACT_DOTA_CAST_WILD_AXES_END", + "value": 1562 }, { - "name": "MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_PERCENTAGE", - "description": "Method Name: `GetModifierIncomingPhysicalDamage_Percentage`", - "value": 65 + "name": "ACT_DOTA_CAST_LIFE_BREAK_START", + "value": 1563 }, { - "name": "MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_CONSTANT", - "description": "This property controls 'physical' shield, if defined both on client and server. Return value on client should be current shield health, as a positive integer, on server - amount of damage blocked.\n\nMethod Name: `GetModifierIncomingPhysicalDamageConstant`.", - "value": 66 + "name": "ACT_DOTA_CAST_LIFE_BREAK_END", + "value": 1564 }, { - "name": "MODIFIER_PROPERTY_INCOMING_SPELL_DAMAGE_CONSTANT", - "description": "This property controls 'spell' shield, if defined both on client and server. Return value on client should be current shield health, as a positive integer, on server - amount of damage blocked.\n\nMethod Name: `GetModifierIncomingSpellDamageConstant`.", - "value": 67 + "name": "ACT_DOTA_NIGHTSTALKER_TRANSITION", + "value": 1565 }, { - "name": "MODIFIER_PROPERTY_EVASION_CONSTANT", - "description": "Method Name: `GetModifierEvasion_Constant`", - "value": 68 + "name": "ACT_DOTA_LIFESTEALER_RAGE", + "value": 1566 }, { - "name": "MODIFIER_PROPERTY_NEGATIVE_EVASION_CONSTANT", - "description": "Method Name: `GetModifierNegativeEvasion_Constant`", - "value": 69 + "name": "ACT_DOTA_LIFESTEALER_OPEN_WOUNDS", + "value": 1567 }, { - "name": "MODIFIER_PROPERTY_STATUS_RESISTANCE", - "description": "Method Name: `GetModifierStatusResistance`", - "value": 70 + "name": "ACT_DOTA_SAND_KING_BURROW_IN", + "value": 1568 }, { - "name": "MODIFIER_PROPERTY_STATUS_RESISTANCE_STACKING", - "description": "Method Name: `GetModifierStatusResistanceStacking`", - "value": 71 + "name": "ACT_DOTA_SAND_KING_BURROW_OUT", + "value": 1569 }, { - "name": "MODIFIER_PROPERTY_STATUS_RESISTANCE_CASTER", - "description": "Method Name: `GetModifierStatusResistanceCaster`", - "value": 72 + "name": "ACT_DOTA_EARTHSHAKER_TOTEM_ATTACK", + "value": 1570 }, { - "name": "MODIFIER_PROPERTY_AVOID_DAMAGE", - "description": "Method Name: `GetModifierAvoidDamage`", - "value": 73 + "name": "ACT_DOTA_WHEEL_LAYER", + "value": 1571 }, { - "name": "MODIFIER_PROPERTY_AVOID_SPELL", - "description": "Method Name: `GetModifierAvoidSpell`", - "value": 74 + "name": "ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_START", + "value": 1572 }, { - "name": "MODIFIER_PROPERTY_MISS_PERCENTAGE", - "description": "Method Name: `GetModifierMiss_Percentage`", - "value": 75 + "name": "ACT_DOTA_ALCHEMIST_CONCOCTION", + "value": 1573 }, { - "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BASE_PERCENTAGE", - "description": "Values above 100% are ignored.\n\nMethod Name: `GetModifierPhysicalArmorBase_Percentage`.", - "value": 76 + "name": "ACT_DOTA_JAKIRO_LIQUIDFIRE_START", + "value": 1574 }, { - "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_TOTAL_PERCENTAGE", - "description": "Method Name: `GetModifierPhysicalArmorTotal_Percentage`", - "value": 77 + "name": "ACT_DOTA_JAKIRO_LIQUIDFIRE_LOOP", + "value": 1575 }, { - "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS", - "description": "Method Name: `GetModifierPhysicalArmorBonus`", - "value": 78 + "name": "ACT_DOTA_LIFESTEALER_INFEST", + "value": 1576 }, { - "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE", - "description": "Method Name: `GetModifierPhysicalArmorBonusUnique`", - "value": 79 + "name": "ACT_DOTA_LIFESTEALER_INFEST_END", + "value": 1577 }, { - "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE_ACTIVE", - "description": "Method Name: `GetModifierPhysicalArmorBonusUniqueActive`", - "value": 80 + "name": "ACT_DOTA_LASSO_LOOP", + "value": 1578 }, { - "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_POST", - "description": "Method Name: `GetModifierPhysicalArmorBonusPost`", - "value": 81 + "name": "ACT_DOTA_ALCHEMIST_CONCOCTION_THROW", + "value": 1579 }, { - "name": "MODIFIER_PROPERTY_MIN_PHYSICAL_ARMOR", - "description": "Method Name: `GetModifierMinPhysicalArmor`", - "value": 82 + "name": "ACT_DOTA_ALCHEMIST_CHEMICAL_RAGE_END", + "value": 1580 }, { - "name": "MODIFIER_PROPERTY_IGNORE_PHYSICAL_ARMOR", - "description": "Method Name: `GetModifierIgnorePhysicalArmor`", - "value": 83 + "name": "ACT_DOTA_CAST_COLD_SNAP", + "value": 1581 }, { - "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BASE_REDUCTION", - "description": "Method Name: `GetModifierMagicalResistanceBaseReduction`", - "value": 84 + "name": "ACT_DOTA_CAST_GHOST_WALK", + "value": 1582 }, { - "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DIRECT_MODIFICATION", - "description": "Method Name: `GetModifierMagicalResistanceDirectModification`", - "value": 85 + "name": "ACT_DOTA_CAST_TORNADO", + "value": 1583 }, { - "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS", - "description": "Method Name: `GetModifierMagicalResistanceBonus`", - "value": 86 + "name": "ACT_DOTA_CAST_EMP", + "value": 1584 }, { - "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_ILLUSIONS", - "description": "Method Name: `GetModifierMagicalResistanceBonusIllusions`", - "value": 87 + "name": "ACT_DOTA_CAST_ALACRITY", + "value": 1585 }, { - "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_UNIQUE", - "description": "Method Name: `GetModifierMagicalResistanceBonusUnique`", - "value": 88 + "name": "ACT_DOTA_CAST_CHAOS_METEOR", + "value": 1586 }, { - "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DECREPIFY_UNIQUE", - "description": "Method Name: `GetModifierMagicalResistanceDecrepifyUnique`", - "value": 89 + "name": "ACT_DOTA_CAST_SUN_STRIKE", + "value": 1587 }, { - "name": "MODIFIER_PROPERTY_BASE_MANA_REGEN", - "description": "Method Name: `GetModifierBaseRegen`", - "value": 90 + "name": "ACT_DOTA_CAST_FORGE_SPIRIT", + "value": 1588 }, { - "name": "MODIFIER_PROPERTY_MANA_REGEN_CONSTANT", - "description": "Method Name: `GetModifierConstantManaRegen`", - "value": 91 + "name": "ACT_DOTA_CAST_ICE_WALL", + "value": 1589 }, { - "name": "MODIFIER_PROPERTY_MANA_REGEN_CONSTANT_UNIQUE", - "description": "Method Name: `GetModifierConstantManaRegenUnique`", - "value": 92 + "name": "ACT_DOTA_CAST_DEAFENING_BLAST", + "value": 1590 }, { - "name": "MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE", - "description": "Method Name: `GetModifierTotalPercentageManaRegen`", - "value": 93 + "name": "ACT_DOTA_VICTORY", + "value": 1591 }, { - "name": "MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT", - "description": "Method Name: `GetModifierConstantHealthRegen`", - "value": 94 + "name": "ACT_DOTA_DEFEAT", + "value": 1592 }, { - "name": "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE", - "description": "Method Name: `GetModifierHealthRegenPercentage`", - "value": 95 + "name": "ACT_DOTA_SPIRIT_BREAKER_CHARGE_POSE", + "value": 1593 }, { - "name": "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE_UNIQUE", - "description": "Method Name: `GetModifierHealthRegenPercentageUnique`", - "value": 96 + "name": "ACT_DOTA_SPIRIT_BREAKER_CHARGE_END", + "value": 1594 }, { - "name": "MODIFIER_PROPERTY_HEALTH_BONUS", - "description": "Method Name: `GetModifierHealthBonus`", - "value": 97 + "name": "ACT_DOTA_TELEPORT", + "value": 1595 }, { - "name": "MODIFIER_PROPERTY_MANA_BONUS", - "description": "Method Name: `GetModifierManaBonus`", - "value": 98 + "name": "ACT_DOTA_TELEPORT_END", + "value": 1596 }, { - "name": "MODIFIER_PROPERTY_EXTRA_STRENGTH_BONUS", - "description": "Method Name: `GetModifierExtraStrengthBonus`", - "value": 99 + "name": "ACT_DOTA_CAST_REFRACTION", + "value": 1597 }, { - "name": "MODIFIER_PROPERTY_EXTRA_HEALTH_BONUS", - "description": "Method Name: `GetModifierExtraHealthBonus`", - "value": 100 + "name": "ACT_DOTA_CAST_ABILITY_7", + "value": 1598 }, { - "name": "MODIFIER_PROPERTY_EXTRA_MANA_BONUS", - "description": "Method Name: `GetModifierExtraManaBonus`", - "value": 101 + "name": "ACT_DOTA_CANCEL_SIREN_SONG", + "value": 1599 }, { - "name": "MODIFIER_PROPERTY_EXTRA_MANA_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierExtraManaBonusPercentage`", - "value": 102 + "name": "ACT_DOTA_CHANNEL_ABILITY_7", + "value": 1600 }, { - "name": "MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE", - "description": "Method Name: `GetModifierExtraHealthPercentage`", - "value": 103 + "name": "ACT_DOTA_LOADOUT", + "value": 1601 }, { - "name": "MODIFIER_PROPERTY_EXTRA_MANA_PERCENTAGE", - "description": "Method Name: `GetModifierExtraManaPercentage`", - "value": 104 + "name": "ACT_DOTA_FORCESTAFF_END", + "value": 1602 }, { - "name": "MODIFIER_PROPERTY_STATS_STRENGTH_BONUS", - "description": "Method Name: `GetModifierBonusStats_Strength`", - "value": 105 + "name": "ACT_DOTA_POOF_END", + "value": 1603 }, { - "name": "MODIFIER_PROPERTY_STATS_AGILITY_BONUS", - "description": "Method Name: `GetModifierBonusStats_Agility`", - "value": 106 + "name": "ACT_DOTA_SLARK_POUNCE", + "value": 1604 }, { - "name": "MODIFIER_PROPERTY_STATS_INTELLECT_BONUS", - "description": "Method Name: `GetModifierBonusStats_Intellect`", - "value": 107 + "name": "ACT_DOTA_MAGNUS_SKEWER_START", + "value": 1605 }, { - "name": "MODIFIER_PROPERTY_STATS_STRENGTH_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierBonusStats_Strength_Percentage`", - "value": 108 + "name": "ACT_DOTA_MAGNUS_SKEWER_END", + "value": 1606 }, { - "name": "MODIFIER_PROPERTY_STATS_AGILITY_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierBonusStats_Agility_Percentage`", - "value": 109 + "name": "ACT_DOTA_MEDUSA_STONE_GAZE", + "value": 1607 }, { - "name": "MODIFIER_PROPERTY_STATS_INTELLECT_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierBonusStats_Intellect_Percentage`", - "value": 110 + "name": "ACT_DOTA_RELAX_START", + "value": 1608 }, { - "name": "MODIFIER_PROPERTY_CAST_RANGE_BONUS", - "description": "Method Name: `GetModifierCastRangeBonus`", - "value": 111 + "name": "ACT_DOTA_RELAX_LOOP", + "value": 1609 }, { - "name": "MODIFIER_PROPERTY_CAST_RANGE_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierCastRangeBonusPercentage`", - "value": 112 + "name": "ACT_DOTA_RELAX_END", + "value": 1610 }, { - "name": "MODIFIER_PROPERTY_CAST_RANGE_BONUS_TARGET", - "description": "Method Name: `GetModifierCastRangeBonusTarget`", - "value": 113 + "name": "ACT_DOTA_CENTAUR_STAMPEDE", + "value": 1611 }, { - "name": "MODIFIER_PROPERTY_CAST_RANGE_BONUS_STACKING", - "description": "Method Name: `GetModifierCastRangeBonusStacking`", - "value": 114 + "name": "ACT_DOTA_BELLYACHE_START", + "value": 1612 }, { - "name": "MODIFIER_PROPERTY_ATTACK_RANGE_BASE_OVERRIDE", - "description": "Method Name: `GetModifierAttackRangeOverride`", - "value": 115 + "name": "ACT_DOTA_BELLYACHE_LOOP", + "value": 1613 }, { - "name": "MODIFIER_PROPERTY_ATTACK_RANGE_BONUS", - "description": "Method Name: `GetModifierAttackRangeBonus`", - "value": 116 + "name": "ACT_DOTA_BELLYACHE_END", + "value": 1614 }, { - "name": "MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_UNIQUE", - "description": "Method Name: `GetModifierAttackRangeBonusUnique`", - "value": 117 + "name": "ACT_DOTA_ROQUELAIRE_LAND", + "value": 1615 }, { - "name": "MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierAttackRangeBonusPercentage`", - "value": 118 + "name": "ACT_DOTA_ROQUELAIRE_LAND_IDLE", + "value": 1616 }, { - "name": "MODIFIER_PROPERTY_MAX_ATTACK_RANGE", - "description": "Method Name: `GetModifierMaxAttackRange`", - "value": 119 + "name": "ACT_DOTA_GREEVIL_CAST", + "value": 1617 }, { - "name": "MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS", - "description": "Method Name: `GetModifierProjectileSpeedBonus`", - "value": 120 + "name": "ACT_DOTA_GREEVIL_OVERRIDE_ABILITY", + "value": 1618 }, { - "name": "MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierProjectileSpeedBonusPercentage`", - "value": 121 + "name": "ACT_DOTA_GREEVIL_HOOK_START", + "value": 1619 }, { - "name": "MODIFIER_PROPERTY_PROJECTILE_NAME", - "description": "Method Name: `GetModifierProjectileName`", - "value": 122 + "name": "ACT_DOTA_GREEVIL_HOOK_END", + "value": 1620 }, { - "name": "MODIFIER_PROPERTY_REINCARNATION", - "description": "Method Name: `ReincarnateTime`", - "value": 123 + "name": "ACT_DOTA_GREEVIL_BLINK_BONE", + "value": 1621 }, { - "name": "MODIFIER_PROPERTY_REINCARNATION_SUPPRESS_FX", - "description": "Method Name: `ReincarnateSuppressFX`", - "value": 124 + "name": "ACT_DOTA_IDLE_SLEEPING", + "value": 1622 }, { - "name": "MODIFIER_PROPERTY_RESPAWNTIME", - "description": "Method Name: `GetModifierConstantRespawnTime`", - "value": 125 + "name": "ACT_DOTA_INTRO", + "value": 1623 }, { - "name": "MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE", - "description": "Method Name: `GetModifierPercentageRespawnTime`", - "value": 126 + "name": "ACT_DOTA_GESTURE_POINT", + "value": 1624 }, { - "name": "MODIFIER_PROPERTY_RESPAWNTIME_STACKING", - "description": "Method Name: `GetModifierStackingRespawnTime`", - "value": 127 + "name": "ACT_DOTA_GESTURE_ACCENT", + "value": 1625 }, { - "name": "MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE", - "description": "Method Name: `GetModifierPercentageCooldown`", - "value": 128 + "name": "ACT_DOTA_SLEEPING_END", + "value": 1626 }, { - "name": "MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_ONGOING", - "description": "Method Name: `GetModifierPercentageCooldownOngoing`", - "value": 129 + "name": "ACT_DOTA_AMBUSH", + "value": 1627 }, { - "name": "MODIFIER_PROPERTY_CASTTIME_PERCENTAGE", - "description": "Method Name: `GetModifierPercentageCasttime`", - "value": 130 + "name": "ACT_DOTA_ITEM_LOOK", + "value": 1628 }, { - "name": "MODIFIER_PROPERTY_ATTACK_ANIM_TIME_PERCENTAGE", - "description": "Method Name: `GetModifierPercentageAttackAnimTime`", - "value": 131 + "name": "ACT_DOTA_STARTLE", + "value": 1629 }, { - "name": "MODIFIER_PROPERTY_MANACOST_PERCENTAGE", - "description": "Method Name: `GetModifierPercentageManacost`", - "value": 132 + "name": "ACT_DOTA_FRUSTRATION", + "value": 1630 }, { - "name": "MODIFIER_PROPERTY_MANACOST_PERCENTAGE_STACKING", - "description": "Method Name: `GetModifierPercentageManacostStacking`", - "value": 133 + "name": "ACT_DOTA_TELEPORT_REACT", + "value": 1631 }, { - "name": "MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE", - "description": "Method Name: `GetModifierPercentageHealthcost`", - "value": 134 + "name": "ACT_DOTA_TELEPORT_END_REACT", + "value": 1632 }, { - "name": "MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE_STACKING", - "description": "Method Name: `GetModifierPercentageHealthcostStacking`", - "value": 135 + "name": "ACT_DOTA_SHRUG", + "value": 1633 }, { - "name": "MODIFIER_PROPERTY_DEATHGOLDCOST", - "description": "Method Name: `GetModifierConstantDeathGoldCost`", - "value": 136 + "name": "ACT_DOTA_RELAX_LOOP_END", + "value": 1634 }, { - "name": "MODIFIER_PROPERTY_PERCENTAGE_DEATHGOLDCOST", - "description": "Method Name: `GetModifierPercentageDeathGoldCost`", - "value": 137 + "name": "ACT_DOTA_PRESENT_ITEM", + "value": 1635 }, { - "name": "MODIFIER_PROPERTY_EXP_RATE_BOOST", - "description": "Method Name: `GetModifierPercentageExpRateBoost`", - "value": 138 + "name": "ACT_DOTA_IDLE_IMPATIENT", + "value": 1636 }, { - "name": "MODIFIER_PROPERTY_GOLD_RATE_BOOST", - "description": "Method Name: `GetModifierPercentageGoldRateBoost`", - "value": 139 + "name": "ACT_DOTA_SHARPEN_WEAPON", + "value": 1637 }, { - "name": "MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE", - "description": "Method Name: `GetModifierPreAttack_CriticalStrike`", - "value": 140 + "name": "ACT_DOTA_SHARPEN_WEAPON_OUT", + "value": 1638 }, { - "name": "MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE", - "description": "Method Name: `GetModifierPreAttack_Target_CriticalStrike`", - "value": 141 + "name": "ACT_DOTA_IDLE_SLEEPING_END", + "value": 1639 }, { - "name": "MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK", - "description": "Method Name: `GetModifierMagical_ConstantBlock`", - "value": 142 + "name": "ACT_DOTA_BRIDGE_DESTROY", + "value": 1640 }, { - "name": "MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK", - "description": "Method Name: `GetModifierPhysical_ConstantBlock`", - "value": 143 + "name": "ACT_DOTA_TAUNT_SNIPER", + "value": 1641 }, { - "name": "MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL", - "description": "Method Name: `GetModifierPhysical_ConstantBlockSpecial`", - "value": 144 + "name": "ACT_DOTA_DEATH_BY_SNIPER", + "value": 1642 }, { - "name": "MODIFIER_PROPERTY_INNATE_DAMAGE_BLOCK_PCT_OVERRIDE", - "description": "Method Name: `GetModifierInnateDamageBlockPctOverride`", - "value": 145 + "name": "ACT_DOTA_LOOK_AROUND", + "value": 1643 }, { - "name": "MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR", - "description": "Method Name: `GetModifierPhysical_ConstantBlockUnavoidablePreArmor`", - "value": 146 + "name": "ACT_DOTA_CAGED_CREEP_RAGE", + "value": 1644 }, { - "name": "MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK", - "description": "Method Name: `GetModifierTotal_ConstantBlock`", - "value": 147 + "name": "ACT_DOTA_CAGED_CREEP_RAGE_OUT", + "value": 1645 }, { - "name": "MODIFIER_PROPERTY_OVERRIDE_ANIMATION", - "description": "Method Name: `GetOverrideAnimation`", - "value": 148 + "name": "ACT_DOTA_CAGED_CREEP_SMASH", + "value": 1646 }, { - "name": "MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE", - "description": "Method Name: `GetOverrideAnimationRate`", - "value": 149 + "name": "ACT_DOTA_CAGED_CREEP_SMASH_OUT", + "value": 1647 }, { - "name": "MODIFIER_PROPERTY_ABSORB_SPELL", - "description": "Method Name: `GetAbsorbSpell`", - "value": 150 + "name": "ACT_DOTA_IDLE_IMPATIENT_SWORD_TAP", + "value": 1648 }, { - "name": "MODIFIER_PROPERTY_REFLECT_SPELL", - "description": "Method Name: `GetReflectSpell`", - "value": 151 + "name": "ACT_DOTA_INTRO_LOOP", + "value": 1649 }, { - "name": "MODIFIER_PROPERTY_DISABLE_AUTOATTACK", - "description": "Method Name: `GetDisableAutoAttack`", - "value": 152 + "name": "ACT_DOTA_BRIDGE_THREAT", + "value": 1650 }, { - "name": "MODIFIER_PROPERTY_BONUS_DAY_VISION", - "description": "Method Name: `GetBonusDayVision`", - "value": 153 + "name": "ACT_DOTA_DAGON", + "value": 1651 }, { - "name": "MODIFIER_PROPERTY_BONUS_DAY_VISION_PERCENTAGE", - "description": "Method Name: `GetBonusDayVisionPercentage`", - "value": 154 + "name": "ACT_DOTA_CAST_ABILITY_2_ES_ROLL_START", + "value": 1652 }, { - "name": "MODIFIER_PROPERTY_BONUS_NIGHT_VISION", - "description": "Method Name: `GetBonusNightVision`", - "value": 155 + "name": "ACT_DOTA_CAST_ABILITY_2_ES_ROLL", + "value": 1653 }, { - "name": "MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE", - "description": "Method Name: `GetBonusNightVisionUnique`", - "value": 156 + "name": "ACT_DOTA_CAST_ABILITY_2_ES_ROLL_END", + "value": 1654 }, { - "name": "MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE", - "description": "Method Name: `GetBonusVisionPercentage`", - "value": 157 + "name": "ACT_DOTA_NIAN_PIN_START", + "value": 1655 }, { - "name": "MODIFIER_PROPERTY_FIXED_DAY_VISION", - "description": "Method Name: `GetFixedDayVision`", - "value": 158 + "name": "ACT_DOTA_NIAN_PIN_LOOP", + "value": 1656 }, { - "name": "MODIFIER_PROPERTY_FIXED_NIGHT_VISION", - "description": "Method Name: `GetFixedNightVision`", - "value": 159 + "name": "ACT_DOTA_NIAN_PIN_END", + "value": 1657 }, { - "name": "MODIFIER_PROPERTY_MIN_HEALTH", - "description": "Method Name: `GetMinHealth`", - "value": 160 + "name": "ACT_DOTA_LEAP_STUN", + "value": 1658 }, { - "name": "MODIFIER_PROPERTY_MIN_MANA", - "description": "Method Name: `GetMinMana`", - "value": 161 + "name": "ACT_DOTA_LEAP_SWIPE", + "value": 1659 }, { - "name": "MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL", - "description": "Method Name: `GetAbsoluteNoDamagePhysical`", - "value": 162 + "name": "ACT_DOTA_NIAN_INTRO_LEAP", + "value": 1660 }, { - "name": "MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL", - "description": "Method Name: `GetAbsoluteNoDamageMagical`", - "value": 163 + "name": "ACT_DOTA_AREA_DENY", + "value": 1661 }, { - "name": "MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE", - "description": "Method Name: `GetAbsoluteNoDamagePure`", - "value": 164 + "name": "ACT_DOTA_NIAN_PIN_TO_STUN", + "value": 1662 }, { - "name": "MODIFIER_PROPERTY_IS_ILLUSION", - "description": "Method Name: `GetIsIllusion`", - "value": 165 + "name": "ACT_DOTA_RAZE_1", + "value": 1663 }, { - "name": "MODIFIER_PROPERTY_ILLUSION_LABEL", - "description": "Method Name: `GetModifierIllusionLabel`", - "value": 166 + "name": "ACT_DOTA_RAZE_2", + "value": 1664 }, { - "name": "MODIFIER_PROPERTY_STRONG_ILLUSION", - "description": "Method Name: `GetModifierStrongIllusion`", - "value": 167 + "name": "ACT_DOTA_RAZE_3", + "value": 1665 }, { - "name": "MODIFIER_PROPERTY_SUPER_ILLUSION", - "description": "Method Name: `GetModifierSuperIllusion`", - "value": 168 + "name": "ACT_DOTA_UNDYING_DECAY", + "value": 1666 }, { - "name": "MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE", - "description": "Method Name: `GetModifierSuperIllusionWithUltimate`", - "value": 169 + "name": "ACT_DOTA_UNDYING_SOUL_RIP", + "value": 1667 }, { - "name": "MODIFIER_PROPERTY_XP_DURING_DEATH", - "description": "Method Name: `GetModifierXPDuringDeath`", - "value": 170 + "name": "ACT_DOTA_UNDYING_TOMBSTONE", + "value": 1668 }, { - "name": "MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE", - "description": "Method Name: `GetModifierTurnRate_Percentage`", - "value": 171 + "name": "ACT_DOTA_WHIRLING_AXES_RANGED", + "value": 1669 }, { - "name": "MODIFIER_PROPERTY_TURN_RATE_OVERRIDE", - "description": "Method Name: `GetModifierTurnRate_Override`", - "value": 172 + "name": "ACT_DOTA_SHALLOW_GRAVE", + "value": 1670 }, { - "name": "MODIFIER_PROPERTY_DISABLE_HEALING", - "description": "Method Name: `GetDisableHealing`", - "value": 173 + "name": "ACT_DOTA_COLD_FEET", + "value": 1671 }, { - "name": "MODIFIER_PROPERTY_DISABLE_MANA_GAIN", - "description": "Method Name: `GetDisableManaGain`", - "value": 174 + "name": "ACT_DOTA_ICE_VORTEX", + "value": 1672 }, { - "name": "MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK", - "description": "Method Name: `GetAlwaysAllowAttack`", - "value": 175 + "name": "ACT_DOTA_CHILLING_TOUCH", + "value": 1673 }, { - "name": "MODIFIER_PROPERTY_ALWAYS_ETHEREAL_ATTACK", - "description": "Method Name: `GetAllowEtherealAttack`", - "value": 176 + "name": "ACT_DOTA_ENFEEBLE", + "value": 1674 }, { - "name": "MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL", - "description": "Method Name: `GetOverrideAttackMagical`", - "value": 177 + "name": "ACT_DOTA_FATAL_BONDS", + "value": 1675 }, { - "name": "MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH", - "description": "Method Name: `GetModifierUnitStatsNeedsRefresh`", - "value": 178 + "name": "ACT_DOTA_MIDNIGHT_PULSE", + "value": 1676 }, { - "name": "MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER", - "value": 179 + "name": "ACT_DOTA_ANCESTRAL_SPIRIT", + "value": 1677 }, { - "name": "MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER", - "value": 180 + "name": "ACT_DOTA_THUNDER_STRIKE", + "value": 1678 }, { - "name": "MODIFIER_PROPERTY_UNIT_DISALLOW_UPGRADING", - "description": "Method Name: `GetModifierUnitDisllowUpgrading`", - "value": 181 + "name": "ACT_DOTA_KINETIC_FIELD", + "value": 1679 }, { - "name": "MODIFIER_PROPERTY_DODGE_PROJECTILE", - "description": "Method Name: `GetModifierDodgeProjectile`", - "value": 182 + "name": "ACT_DOTA_STATIC_STORM", + "value": 1680 }, { - "name": "MODIFIER_PROPERTY_TRIGGER_COSMETIC_AND_END_ATTACK", - "description": "Method Name: `GetTriggerCosmeticAndEndAttack`", - "value": 183 + "name": "ACT_DOTA_MINI_TAUNT", + "value": 1681 }, { - "name": "MODIFIER_PROPERTY_MAX_DEBUFF_DURATION", - "description": "Method Name: `GetModifierMaxDebuffDuration`", - "value": 184 + "name": "ACT_DOTA_ARCTIC_BURN_END", + "value": 1682 }, { - "name": "MODIFIER_PROPERTY_PRIMARY_STAT_DAMAGE_MULTIPLIER", - "description": "Method Name: `GetPrimaryStatDamageMultiplier`", - "value": 185 + "name": "ACT_DOTA_LOADOUT_RARE", + "value": 1683 }, { - "name": "MODIFIER_PROPERTY_PREATTACK_DEADLY_BLOW", - "description": "Method Name: `GetModifierPreAttack_DeadlyBlow`", - "value": 186 + "name": "ACT_DOTA_SWIM", + "value": 1684 }, { - "name": "MODIFIER_PROPERTY_ALWAYS_AUTOATTACK_WHILE_HOLD_POSITION", - "description": "Method Name: `GetAlwaysAutoAttackWhileHoldPosition`", - "value": 187 + "name": "ACT_DOTA_FLEE", + "value": 1685 }, { - "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_PIERCING_PERCENTAGE_TARGET", - "description": "Method Name: `GetPhysicalArmorPiercingPercentageTarget`", - "value": 188 + "name": "ACT_DOTA_TROT", + "value": 1686 }, { - "name": "MODIFIER_PROPERTY_MAGICAL_ARMOR_PIERCING_PERCENTAGE_TARGET", - "description": "Method Name: `GetMagicalArmorPiercingPercentageTarget`", - "value": 189 + "name": "ACT_DOTA_SHAKE", + "value": 1687 }, { - "name": "MODIFIER_PROPERTY_CRITICAL_STRIKE_BONUS", - "description": "Method Name: `GetCriticalStrikeBonus`", - "value": 190 + "name": "ACT_DOTA_SWIM_IDLE", + "value": 1688 }, { - "name": "MODIFIER_PROPERTY_CONVERT_ATTACK_PHYSICAL_TO_PURE", - "description": "Method Name: `GetConvertAttackPhysicalToPure`", - "value": 191 + "name": "ACT_DOTA_WAIT_IDLE", + "value": 1689 }, { - "name": "MODIFIER_EVENT_ON_SPELL_TARGET_READY", - "description": "Method Name: `OnSpellTargetReady`", - "value": 192 + "name": "ACT_DOTA_GREET", + "value": 1690 }, { - "name": "MODIFIER_EVENT_ON_ATTACK_RECORD", - "description": "Method Name: `OnAttackRecord`", - "value": 193 + "name": "ACT_DOTA_TELEPORT_COOP_START", + "value": 1691 }, { - "name": "MODIFIER_EVENT_ON_ATTACK_START", - "description": "Method Name: `OnAttackStart`", - "value": 194 + "name": "ACT_DOTA_TELEPORT_COOP_WAIT", + "value": 1692 }, { - "name": "MODIFIER_EVENT_ON_ATTACK", - "description": "Method Name: `OnAttack`", - "value": 195 + "name": "ACT_DOTA_TELEPORT_COOP_END", + "value": 1693 }, { - "name": "MODIFIER_EVENT_ON_ATTACK_LANDED", - "description": "Method Name: `OnAttackLanded`", - "value": 196 + "name": "ACT_DOTA_TELEPORT_COOP_EXIT", + "value": 1694 }, { - "name": "MODIFIER_EVENT_ON_ATTACK_FAIL", - "description": "Method Name: `OnAttackFail`", - "value": 197 + "name": "ACT_DOTA_SHOPKEEPER_PET_INTERACT", + "value": 1695 }, { - "name": "MODIFIER_EVENT_ON_ATTACK_ALLIED", - "description": "Happens even if attack can't be issued.\n\nMethod Name: `OnAttackAllied`.", - "value": 198 + "name": "ACT_DOTA_ITEM_PICKUP", + "value": 1696 }, { - "name": "MODIFIER_EVENT_ON_PROJECTILE_DODGE", - "description": "Method Name: `OnProjectileDodge`", - "value": 199 + "name": "ACT_DOTA_ITEM_DROP", + "value": 1697 }, { - "name": "MODIFIER_EVENT_ON_ORDER", - "description": "Method Name: `OnOrder`", - "value": 200 + "name": "ACT_DOTA_CAPTURE_PET", + "value": 1698 }, { - "name": "MODIFIER_EVENT_ON_UNIT_MOVED", - "description": "Method Name: `OnUnitMoved`", - "value": 201 + "name": "ACT_DOTA_PET_WARD_OBSERVER", + "value": 1699 }, { - "name": "MODIFIER_EVENT_ON_ABILITY_START", - "description": "Method Name: `OnAbilityStart`", - "value": 202 + "name": "ACT_DOTA_PET_WARD_SENTRY", + "value": 1700 }, { - "name": "MODIFIER_EVENT_ON_ABILITY_EXECUTED", - "description": "Method Name: `OnAbilityExecuted`", - "value": 203 + "name": "ACT_DOTA_PET_LEVEL", + "value": 1701 }, { - "name": "MODIFIER_EVENT_ON_ABILITY_FULLY_CAST", - "description": "Method Name: `OnAbilityFullyCast`", - "value": 204 + "name": "ACT_DOTA_CAST_BURROW_END", + "value": 1702 }, { - "name": "MODIFIER_EVENT_ON_BREAK_INVISIBILITY", - "description": "Method Name: `OnBreakInvisibility`", - "value": 205 + "name": "ACT_DOTA_LIFESTEALER_ASSIMILATE", + "value": 1703 }, { - "name": "MODIFIER_EVENT_ON_ABILITY_END_CHANNEL", - "description": "Method Name: `OnAbilityEndChannel`", - "value": 206 + "name": "ACT_DOTA_LIFESTEALER_EJECT", + "value": 1704 }, { - "name": "MODIFIER_EVENT_ON_PROCESS_UPGRADE", - "value": 207 + "name": "ACT_DOTA_ATTACK_EVENT_BASH", + "value": 1705 }, { - "name": "MODIFIER_EVENT_ON_REFRESH", - "value": 208 + "name": "ACT_DOTA_CAPTURE_RARE", + "value": 1706 }, { - "name": "MODIFIER_EVENT_ON_TAKEDAMAGE", - "description": "Method Name: `OnTakeDamage`", - "value": 209 + "name": "ACT_DOTA_AW_MAGNETIC_FIELD", + "value": 1707 }, { - "name": "MODIFIER_EVENT_ON_DEATH_PREVENTED", - "description": "Method Name: `OnDamagePrevented`", - "value": 210 + "name": "ACT_DOTA_CAST_GHOST_SHIP", + "value": 1708 }, { - "name": "MODIFIER_EVENT_ON_STATE_CHANGED", - "description": "Method Name: `OnStateChanged`", - "value": 211 + "name": "ACT_DOTA_FXANIM", + "value": 1709 }, { - "name": "MODIFIER_EVENT_ON_ORB_EFFECT", - "value": 212 + "name": "ACT_DOTA_VICTORY_START", + "value": 1710 }, { - "name": "MODIFIER_EVENT_ON_PROCESS_CLEAVE", - "description": "Method Name: `OnProcessCleave`", - "value": 213 + "name": "ACT_DOTA_DEFEAT_START", + "value": 1711 }, { - "name": "MODIFIER_EVENT_ON_DAMAGE_CALCULATED", - "description": "Method Name: `OnDamageCalculated`", - "value": 214 + "name": "ACT_DOTA_DP_SPIRIT_SIPHON", + "value": 1712 }, { - "name": "MODIFIER_EVENT_ON_MAGIC_DAMAGE_CALCULATED", - "description": "Method Name: `OnMagicDamageCalculated`", - "value": 215 + "name": "ACT_DOTA_TRICKS_END", + "value": 1713 }, { - "name": "MODIFIER_EVENT_ON_ATTACKED", - "description": "Method Name: `OnAttacked`", - "value": 216 + "name": "ACT_DOTA_ES_STONE_CALLER", + "value": 1714 }, { - "name": "MODIFIER_EVENT_ON_DEATH", - "description": "Method Name: `OnDeath`", - "value": 217 + "name": "ACT_DOTA_MK_STRIKE", + "value": 1715 }, { - "name": "MODIFIER_EVENT_ON_DEATH_COMPLETED", - "description": "Method Name: `OnDeathCompleted`", - "value": 218 + "name": "ACT_DOTA_VERSUS", + "value": 1716 }, { - "name": "MODIFIER_EVENT_ON_RESPAWN", - "description": "Method Name: `OnRespawn`", - "value": 219 + "name": "ACT_DOTA_CAPTURE_CARD", + "value": 1717 }, { - "name": "MODIFIER_EVENT_ON_SPENT_MANA", - "description": "Method Name: `OnSpentMana`", - "value": 220 + "name": "ACT_DOTA_MK_SPRING_SOAR", + "value": 1718 }, { - "name": "MODIFIER_EVENT_ON_SPENT_HEALTH", - "description": "Method Name: `OnSpentHealth`", - "value": 221 + "name": "ACT_DOTA_MK_SPRING_END", + "value": 1719 }, { - "name": "MODIFIER_EVENT_ON_TELEPORTING", - "description": "Method Name: `OnTeleporting`", - "value": 222 + "name": "ACT_DOTA_MK_TREE_SOAR", + "value": 1720 }, { - "name": "MODIFIER_EVENT_ON_TELEPORTED", - "description": "Method Name: `OnTeleported`", - "value": 223 + "name": "ACT_DOTA_MK_TREE_END", + "value": 1721 }, { - "name": "MODIFIER_EVENT_ON_SET_LOCATION", - "description": "Method Name: `OnSetLocation`", - "value": 224 + "name": "ACT_DOTA_MK_FUR_ARMY", + "value": 1722 }, { - "name": "MODIFIER_EVENT_ON_HEALTH_GAINED", - "description": "Method Name: `OnHealthGained`", - "value": 225 + "name": "ACT_DOTA_MK_SPRING_CAST", + "value": 1723 }, { - "name": "MODIFIER_EVENT_ON_MANA_GAINED", - "description": "Method Name: `OnManaGained`", - "value": 226 + "name": "ACT_DOTA_NECRO_GHOST_SHROUD", + "value": 1724 }, { - "name": "MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT", - "description": "Method Name: `OnTakeDamageKillCredit`", - "value": 227 + "name": "ACT_DOTA_OVERRIDE_ARCANA", + "value": 1725 }, { - "name": "MODIFIER_EVENT_ON_HERO_KILLED", - "description": "Method Name: `OnHeroKilled`", - "value": 228 + "name": "ACT_DOTA_SLIDE", + "value": 1726 }, { - "name": "MODIFIER_EVENT_ON_HEAL_RECEIVED", - "description": "Method Name: `OnHealReceived`", - "value": 229 + "name": "ACT_DOTA_SLIDE_LOOP", + "value": 1727 }, { - "name": "MODIFIER_EVENT_ON_BUILDING_KILLED", - "description": "Method Name: `OnBuildingKilled`", - "value": 230 + "name": "ACT_DOTA_GENERIC_CHANNEL_1", + "value": 1728 }, { - "name": "MODIFIER_EVENT_ON_MODEL_CHANGED", - "description": "Method Name: `OnModelChanged`", - "value": 231 + "name": "ACT_DOTA_GS_SOUL_CHAIN", + "value": 1729 }, { - "name": "MODIFIER_EVENT_ON_MODIFIER_ADDED", - "description": "Method Name: `OnModifierAdded`", - "value": 232 + "name": "ACT_DOTA_GS_INK_CREATURE", + "value": 1730 }, { - "name": "MODIFIER_EVENT_ON_MODIFIER_REMOVED", - "description": "Method Name: `OnModifierRemoved`", - "value": 233 + "name": "ACT_DOTA_TRANSITION", + "value": 1731 }, { - "name": "MODIFIER_PROPERTY_TOOLTIP", - "description": "Method Name: `OnTooltip`", - "value": 234 + "name": "ACT_DOTA_BLINK_DAGGER", + "value": 1732 }, { - "name": "MODIFIER_PROPERTY_MODEL_CHANGE", - "description": "Method Name: `GetModifierModelChange`", - "value": 235 + "name": "ACT_DOTA_BLINK_DAGGER_END", + "value": 1733 }, { - "name": "MODIFIER_PROPERTY_MODEL_SCALE", - "description": "Method Name: `GetModifierModelScale`", - "value": 236 + "name": "ACT_DOTA_CUSTOM_TOWER_ATTACK", + "value": 1734 }, { - "name": "MODIFIER_PROPERTY_MODEL_SCALE_ANIMATE_TIME", - "description": "Method Name: `GetModifierModelScaleAnimateTime`", - "value": 237 + "name": "ACT_DOTA_CUSTOM_TOWER_IDLE", + "value": 1735 }, { - "name": "MODIFIER_PROPERTY_MODEL_SCALE_USE_IN_OUT_EASE", - "description": "Method Name: `GetModifierModelScaleUseInOutEase`", - "value": 238 + "name": "ACT_DOTA_CUSTOM_TOWER_DIE", + "value": 1736 }, { - "name": "MODIFIER_PROPERTY_MODEL_SCALE_CONSTANT", - "description": "Method Name: `GetModifierModelScaleConstant`", - "value": 239 + "name": "ACT_DOTA_CAST_COLD_SNAP_ORB", + "value": 1737 }, { - "name": "MODIFIER_PROPERTY_IS_SCEPTER", - "description": "Applies scepter when this property is active\n\nMethod Name: `GetModifierScepter`.", - "value": 240 + "name": "ACT_DOTA_CAST_GHOST_WALK_ORB", + "value": 1738 }, { - "name": "MODIFIER_PROPERTY_IS_SHARD", - "description": "Applies shard when this property is active\n\nMethod Name: `GetModifierShard`.", - "value": 241 + "name": "ACT_DOTA_CAST_TORNADO_ORB", + "value": 1739 }, { - "name": "MODIFIER_PROPERTY_RADAR_COOLDOWN_REDUCTION", - "description": "Method Name: `GetModifierRadarCooldownReduction`", - "value": 242 + "name": "ACT_DOTA_CAST_EMP_ORB", + "value": 1740 }, { - "name": "MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS", - "description": "Method Name: `GetActivityTranslationModifiers`", - "value": 243 + "name": "ACT_DOTA_CAST_ALACRITY_ORB", + "value": 1741 }, { - "name": "MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND", - "description": "Method Name: `GetAttackSound`", - "value": 244 + "name": "ACT_DOTA_CAST_CHAOS_METEOR_ORB", + "value": 1742 }, { - "name": "MODIFIER_PROPERTY_LIFETIME_FRACTION", - "description": "Method Name: `GetUnitLifetimeFraction`", - "value": 245 + "name": "ACT_DOTA_CAST_SUN_STRIKE_ORB", + "value": 1743 }, { - "name": "MODIFIER_PROPERTY_PROVIDES_FOW_POSITION", - "description": "Method Name: `GetModifierProvidesFOWVision`", - "value": 246 + "name": "ACT_DOTA_CAST_FORGE_SPIRIT_ORB", + "value": 1744 }, { - "name": "MODIFIER_PROPERTY_SPELLS_REQUIRE_HP", - "description": "Method Name: `GetModifierSpellsRequireHP`", - "value": 247 + "name": "ACT_DOTA_CAST_ICE_WALL_ORB", + "value": 1745 }, { - "name": "MODIFIER_PROPERTY_CONVERT_MANA_COST_TO_HEALTH_COST", - "description": "Method Name: `GetModifierConvertManaCostToHealthCost`", - "value": 248 + "name": "ACT_DOTA_CAST_DEAFENING_BLAST_ORB", + "value": 1746 }, { - "name": "MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP", - "description": "Method Name: `GetForceDrawOnMinimap`", - "value": 249 + "name": "ACT_DOTA_NOTICE", + "value": 1747 }, { - "name": "MODIFIER_PROPERTY_DISABLE_TURNING", - "description": "Method Name: `GetModifierDisableTurning`", - "value": 250 + "name": "ACT_DOTA_CAST_ABILITY_2_ALLY", + "value": 1748 }, { - "name": "MODIFIER_PROPERTY_IGNORE_CAST_ANGLE", - "description": "Method Name: `GetModifierIgnoreCastAngle`", - "value": 251 + "name": "ACT_DOTA_SHUFFLE_L", + "value": 1749 }, { - "name": "MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE", - "description": "Method Name: `GetModifierChangeAbilityValue`", - "value": 252 + "name": "ACT_DOTA_SHUFFLE_R", + "value": 1750 }, { - "name": "MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL", - "description": "Method Name: `GetModifierOverrideAbilitySpecial`", - "value": 253 + "name": "ACT_DOTA_OVERRIDE_LOADOUT", + "value": 1751 }, { - "name": "MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL_VALUE", - "description": "Method Name: `GetModifierOverrideAbilitySpecialValue`", - "value": 254 + "name": "ACT_DOTA_TAUNT_SPECIAL", + "value": 1752 }, { - "name": "MODIFIER_PROPERTY_ABILITY_LAYOUT", - "description": "Method Name: `GetModifierAbilityLayout`", - "value": 255 + "name": "ACT_DOTA_TELEPORT_START", + "value": 1753 }, { - "name": "MODIFIER_EVENT_ON_DOMINATED", - "description": "Method Name: `OnDominated`", - "value": 256 + "name": "ACT_DOTA_GENERIC_CHANNEL_1_START", + "value": 1754 }, { - "name": "MODIFIER_EVENT_ON_KILL", - "description": "Method Name: `OnKill`", - "value": 257 + "name": "ACT_DOTA_CUSTOM_TOWER_IDLE_RARE", + "value": 1755 }, { - "name": "MODIFIER_EVENT_ON_ASSIST", - "description": "Method Name: `OnAssist`", - "value": 258 + "name": "ACT_DOTA_CUSTOM_TOWER_TAUNT", + "value": 1756 }, { - "name": "MODIFIER_PROPERTY_TEMPEST_DOUBLE", - "description": "Method Name: `GetModifierTempestDouble`", - "value": 259 + "name": "ACT_DOTA_CUSTOM_TOWER_HIGH_FIVE", + "value": 1757 }, { - "name": "MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE", - "description": "Method Name: `PreserveParticlesOnModelChanged`", - "value": 260 + "name": "ACT_DOTA_ATTACK_SPECIAL", + "value": 1758 }, { - "name": "MODIFIER_EVENT_ON_ATTACK_FINISHED", - "description": "Method Name: `OnAttackFinished`", - "value": 261 + "name": "ACT_DOTA_TRANSITION_IDLE", + "value": 1759 }, { - "name": "MODIFIER_PROPERTY_IGNORE_COOLDOWN", - "description": "Method Name: `GetModifierIgnoreCooldown`", - "value": 262 + "name": "ACT_DOTA_PIERCE_THE_VEIL", + "value": 1760 }, { - "name": "MODIFIER_PROPERTY_CAN_ATTACK_TREES", - "description": "Method Name: `GetModifierCanAttackTrees`", - "value": 263 + "name": "ACT_DOTA_RUN_RARE", + "value": 1761 }, { - "name": "MODIFIER_PROPERTY_VISUAL_Z_DELTA", - "description": "Method Name: `GetVisualZDelta`", - "value": 264 + "name": "ACT_DOTA_VIPER_DIVE", + "value": 1762 }, { - "name": "MODIFIER_PROPERTY_VISUAL_Z_SPEED_BASE_OVERRIDE", - "description": "Method Name: `GetVisualZSpeedBaseOverride`", - "value": 265 + "name": "ACT_DOTA_VIPER_DIVE_END", + "value": 1763 }, { - "name": "MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION", - "value": 266 + "name": "ACT_DOTA_MK_STRIKE_END", + "value": 1764 }, { - "name": "MODIFIER_PROPERTY_DONT_GIVE_VISION_OF_ATTACKER", - "description": "Method Name: `GetModifierNoVisionOfAttacker`", - "value": 267 + "name": "ACT_DOTA_SHADOW_VAULT", + "value": 1765 }, { - "name": "MODIFIER_PROPERTY_TOOLTIP2", - "description": "Method Name: `OnTooltip2`", - "value": 268 + "name": "ACT_DOTA_KEZ_KATANA_ULT_START", + "value": 1766 }, { - "name": "MODIFIER_EVENT_ON_ATTACK_RECORD_DESTROY", - "description": "Method Name: `OnAttackRecordDestroy`", - "value": 269 + "name": "ACT_DOTA_KEZ_KATANA_ULT_CHAIN_A", + "value": 1767 }, { - "name": "MODIFIER_EVENT_ON_PROJECTILE_OBSTRUCTION_HIT", - "description": "Method Name: `OnProjectileObstructionHit`", - "value": 270 + "name": "ACT_DOTA_KEZ_KATANA_ULT_CHAIN_B", + "value": 1768 }, { - "name": "MODIFIER_PROPERTY_SUPPRESS_TELEPORT", - "description": "Method Name: `GetSuppressTeleport`", - "value": 271 + "name": "ACT_DOTA_KEZ_KATANA_ULT_END", + "value": 1769 }, { - "name": "MODIFIER_EVENT_ON_ATTACK_CANCELLED", - "description": "Method Name: `OnAttackCancelled`", - "value": 272 + "name": "ACT_DOTA_KEZ_KATANA_IMPALE", + "value": 1770 }, { - "name": "MODIFIER_PROPERTY_SUPPRESS_CLEAVE", - "description": "Method Name: `GetSuppressCleave`", - "value": 273 + "name": "ACT_DOTA_KEZ_KATANA_IMPALE_FAST", + "value": 1771 }, { - "name": "MODIFIER_PROPERTY_BOT_ATTACK_SCORE_BONUS", - "description": "Method Name: `BotAttackScoreBonus`", - "value": 274 + "name": "ACT_DOTA_UNICYCLE", + "value": 1772 }, { - "name": "MODIFIER_PROPERTY_ATTACKSPEED_REDUCTION_PERCENTAGE", - "description": "Method Name: `GetModifierAttackSpeedReductionPercentage`", - "value": 275 - }, + "name": "ACT_DOTA_UNICYCLE_END", + "value": 1773 + } + ] + }, + { + "kind": "enum", + "name": "modifierfunction", + "available": "both", + "members": [ { - "name": "MODIFIER_PROPERTY_MOVESPEED_REDUCTION_PERCENTAGE", - "description": "Method Name: `GetModifierMoveSpeedReductionPercentage`", - "value": 276 + "name": "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE", + "description": "Method Name: `GetModifierPreAttack_BonusDamage`", + "value": 0 }, { - "name": "MODIFIER_PROPERTY_ATTACK_WHILE_MOVING_TARGET", - "value": 277 + "name": "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_TARGET", + "description": "Method Name: `GetModifierPreAttack_BonusDamage_Target`", + "value": 1 }, { - "name": "MODIFIER_PROPERTY_ATTACKSPEED_PERCENTAGE", - "description": "Method Name: `GetModifierAttackSpeedPercentage`", - "value": 278 + "name": "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_PROC", + "description": "Method Name: `GetModifierPreAttack_BonusDamage_Proc`", + "value": 2 }, { - "name": "MODIFIER_EVENT_ON_ATTEMPT_PROJECTILE_DODGE", - "description": "Method Name: `OnAttemptProjectileDodge`", - "value": 279 + "name": "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE_POST_CRIT", + "description": "Method Name: `GetModifierPreAttack_BonusDamagePostCrit`", + "value": 3 }, { - "name": "MODIFIER_EVENT_ON_PREDEBUFF_APPLIED", - "description": "Method Name: `OnPreDebuffApplied`", - "value": 280 + "name": "MODIFIER_PROPERTY_BASEATTACK_BONUSDAMAGE", + "description": "Method Name: `GetModifierBaseAttack_BonusDamage`", + "value": 4 }, { - "name": "MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING", - "description": "Method Name: `GetModifierPercentageCooldownStacking`", - "value": 281 + "name": "MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PHYSICAL", + "description": "Method Name: `GetModifierProcAttack_BonusDamage_Physical`", + "value": 5 }, { - "name": "MODIFIER_PROPERTY_SPELL_REDIRECT_TARGET", - "description": "Method Name: `GetModifierSpellRedirectTarget`", - "value": 282 - }, - { - "name": "MODIFIER_PROPERTY_TURN_RATE_CONSTANT", - "description": "Method Name: `GetModifierTurnRateConstant`", - "value": 283 - }, - { - "name": "MODIFIER_PROPERTY_PACK_RAT", - "description": "Method Name: `GetModifierIsPackRat`", - "value": 284 - }, - { - "name": "MODIFIER_PROPERTY_PHYSICALDAMAGEOUTGOING_PERCENTAGE", - "description": "Method Name: `GetModifierPhysicalDamageOutgoing_Percentage`", - "value": 285 - }, - { - "name": "MODIFIER_PROPERTY_KNOCKBACK_AMPLIFICATION_PERCENTAGE", - "description": "Method Name: `GetModifierKnockbackAmplification_Percentage`", - "value": 286 - }, - { - "name": "MODIFIER_PROPERTY_HEALTHBAR_PIPS", - "description": "Return value is a count of pips.\n\nMethod Name: `GetModifierHealthBarPips`.", - "value": 287 - }, - { - "name": "MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT", - "description": "This property controls 'universal' shield, if defined both on client and server. Return value on client should be current shield health, as a positive integer, on server - amount of damage blocked.\n\nMethod Name: `GetModifierIncomingDamageConstant`.", - "value": 288 - }, - { - "name": "MODIFIER_EVENT_SPELL_APPLIED_SUCCESSFULLY", - "description": "Method Name: `OnSpellAppliedSuccessfully`", - "value": 289 - }, - { - "name": "MODIFIER_PROPERTY_AVOID_DAMAGE_AFTER_REDUCTIONS", - "description": "Method Name: `GetModifierAvoidDamageAfterReductions`", - "value": 290 - }, - { - "name": "MODIFIER_PROPERTY_FAIL_ATTACK", - "description": "Method Name: `GetModifierPropetyFailAttack`", - "value": 291 - }, - { - "name": "MODIFIER_PROPERTY_PREREDUCE_INCOMING_DAMAGE_MULT", - "description": "Method Name: `GetModifierPrereduceIncomingDamage_Mult`", - "value": 292 - }, - { - "name": "MODIFIER_PROPERTY_SUPPRESS_FULLSCREEN_DEATH_FX", - "description": "Method Name: `GetModifierSuppressFullscreenDeathFX`", - "value": 293 - }, - { - "name": "MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT_POST", - "description": "Method Name: `MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT_POST`", - "value": 294 - }, - { - "name": "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_MULTIPLICATIVE", - "description": "Method Name: `GetModifierDamageOutgoing_PercentageMultiplicative`", - "value": 295 - }, - { - "name": "MODIFIER_PROPERTY_TICK_GOLD_MULTIPLIER", - "description": "Method Name: `GetModifierTickGold_Multiplier`", - "value": 296 - }, - { - "name": "MODIFIER_PROPERTY_SLOW_RESISTANCE_UNIQUE", - "description": "Method Name: `GEtModifierSlowResistance_Unique`", - "value": 297 - }, - { - "name": "MODIFIER_PROPERTY_SLOW_RESISTANCE_STACKING", - "description": "Method Name: `GetModifierSlowResistance_Stacking`", - "value": 298 - }, - { - "name": "MODIFIER_PROPERTY_SLOW_RESISTANCE_APPLIES_TO_ATTACKS", - "description": "Method Name: `GetModifierSlowResistanceAppliesToAttacks`", - "value": 299 - }, - { - "name": "MODIFIER_PROPERTY_AOE_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierAoEBonusPercentage`", - "value": 300 - }, - { - "name": "MODIFIER_PROPERTY_PROJECTILE_SPEED", - "description": "Method Name: `GetModifierProjectileSpeed`", - "value": 301 - }, - { - "name": "MODIFIER_PROPERTY_PROJECTILE_SPEED_TARGET", - "description": "Method Name: `GetModifierProjectileSpeedTarget`", - "value": 302 - }, - { - "name": "MODIFIER_PROPERTY_BECOME_STRENGTH", - "description": "Method Name: `GetModifierBecomeStrength`", - "value": 303 - }, - { - "name": "MODIFIER_PROPERTY_BECOME_AGILITY", - "description": "Method Name: `GetModifierBecomeAgility`", - "value": 304 + "name": "MODIFIER_PROPERTY_PROCATTACK_CONVERT_PHYSICAL_TO_MAGICAL", + "description": "Method Name: `GetModifierProcAttack_ConvertPhysicalToMagical`", + "value": 6 }, { - "name": "MODIFIER_PROPERTY_BECOME_INTELLIGENCE", - "description": "Method Name: `GetModifierBecomeIntelligence`", - "value": 305 + "name": "MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL", + "description": "Method Name: `GetModifierProcAttack_BonusDamage_Magical`", + "value": 7 }, { - "name": "MODIFIER_PROPERTY_BECOME_UNIVERSAL", - "description": "Method Name: `GetModifierBecomeUniversal`", - "value": 306 + "name": "MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_PURE", + "description": "Method Name: `GetModifierProcAttack_BonusDamage_Pure`", + "value": 8 }, { - "name": "MODIFIER_EVENT_ON_FORCE_PROC_MAGIC_STICK", - "description": "Method Name: `OnForceProcMagicStick`", - "value": 307 + "name": "MODIFIER_PROPERTY_PROCATTACK_BONUS_DAMAGE_MAGICAL_TARGET", + "description": "Method Name: `GetModifierProcAttack_BonusDamage_Magical_Target`", + "value": 9 }, { - "name": "MODIFIER_EVENT_ON_DAMAGE_HPLOSS", - "description": "Method Name: `OnDamageHPLoss`", - "value": 308 + "name": "MODIFIER_PROPERTY_PROCATTACK_FEEDBACK", + "description": "Method Name: `GetModifierProcAttack_Feedback`", + "value": 10 }, { - "name": "MODIFIER_PROPERTY_SHARE_XPRUNE", - "description": "Method Name: `GetModifierShareXPRune`", - "value": 309 + "name": "MODIFIER_PROPERTY_OVERRIDE_ATTACK_DAMAGE", + "description": "Method Name: `GetModifierOverrideAttackDamage`", + "value": 11 }, { - "name": "MODIFIER_PROPERTY_XP_FOUNTAIN_COUNTDOWN_TIME_OVERRIDE", - "description": "Method Name: `GetModifierXPFountainCountdownTimeOverride`", - "value": 310 + "name": "MODIFIER_PROPERTY_PRE_ATTACK", + "description": "Method Name: `GetModifierPreAttack`", + "value": 12 }, { - "name": "MODIFIER_PROPERTY_NO_FREE_TP_SCROLL_ON_DEATH", - "description": "Method Name: `GetModifierNoFreeTPScrollOnDeath`", - "value": 311 + "name": "MODIFIER_PROPERTY_INVISIBILITY_LEVEL", + "description": "Method Name: `GetModifierInvisibilityLevel`", + "value": 13 }, { - "name": "MODIFIER_PROPERTY_HAS_BONUS_NEUTRAL_ITEM_CHOICE", - "description": "Method Name: `GetModifierHasBonusNeutralItemChoice`", - "value": 312 + "name": "MODIFIER_PROPERTY_INVISIBILITY_ATTACK_BEHAVIOR_EXCEPTION", + "description": "Method Name: `GetModifierInvisibilityAttackBehaviorException`", + "value": 14 }, { - "name": "MODIFIER_PROPERTY_PRESERVE_NEUTRAL_ITEM_PASSIVES", - "description": "Method Name: `GetModifierPreserveNeutralItemPassives`", - "value": 313 + "name": "MODIFIER_PROPERTY_PERSISTENT_INVISIBILITY", + "description": "Method Name: `GetModifierPersistentInvisibility`", + "value": 15 }, { - "name": "MODIFIER_PROPERTY_FORCE_MAX_HEALTH", - "description": "Method Name: `GetModifierForceMaxHealth`", - "value": 314 + "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT", + "description": "Method Name: `GetModifierMoveSpeedBonus_Constant`", + "value": 16 }, { - "name": "MODIFIER_PROPERTY_FORCE_MAX_MANA", - "description": "Method Name: `GetModifierForceMaxMana`", - "value": 315 + "name": "MODIFIER_PROPERTY_MOVESPEED_BASE_OVERRIDE", + "description": "Method Name: `GetModifierMoveSpeedOverride`", + "value": 17 }, { - "name": "MODIFIER_PROPERTY_AOE_BONUS_CONSTANT", - "description": "Method Name: `GetModifierAoEBonusConstant`", - "value": 316 + "name": "MODIFIER_PROPERTY_MOVESPEED_MIN_OVERRIDE", + "description": "Method Name: `GetModifierMoveSpeed_MinOverride`", + "value": 18 }, { - "name": "MODIFIER_PROPERTY_AOE_BONUS_CONSTANT_STACKING", - "description": "Method Name: `GetModifierAoEBonusConstantStacking`", - "value": 317 + "name": "MODIFIER_PROPERTY_MOVESPEED_MAX_OVERRIDE", + "description": "Method Name: `GetModifierMoveSpeed_MaxOverride`", + "value": 19 }, { - "name": "MODIFIER_EVENT_ON_TAKEDAMAGE_POST_UNAVOIDABLE_BLOCK", - "description": "Method Name: `OnTakeDamagePostUnavoidableBlock`", - "value": 318 + "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierMoveSpeedBonus_Percentage`", + "value": 20 }, { - "name": "MODIFIER_EVENT_ON_MUTE_DAMAGE_ABILITIES", - "description": "Method Name: `OnMuteDamageAbilities`", - "value": 319 + "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_PERCENTAGE_UNIQUE", + "description": "Method Name: `GetModifierMoveSpeedBonus_Percentage_Unique`", + "value": 21 }, { - "name": "MODIFIER_PROPERTY_SUPPRESS_CRIT", - "description": "Method Name: `GetSuppressCrit`", - "value": 320 + "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE", + "description": "Method Name: `GetModifierMoveSpeedBonus_Special_Boots`", + "value": 22 }, { - "name": "MODIFIER_PROPERTY_ABILITY_POINTS", - "description": "Method Name: `GetModifierAbilityPoints`", - "value": 321 + "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_UNIQUE_2", + "description": "Method Name: `GetModifierMoveSpeedBonus_Special_Boots_2`", + "value": 23 }, { - "name": "MODIFIER_PROPERTY_BUYBACK_PENALTY_PERCENT", - "description": "Method Name: `GetModifierBuybackPenaltyPercent`", - "value": 322 + "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT_UNIQUE", + "description": "Method Name: `GetModifierMoveSpeedBonus_Constant_Unique`", + "value": 24 }, { - "name": "MODIFIER_PROPERTY_ITEM_SELLBACK_COST", - "description": "Method Name: `GetModifierItemSellbackCost`", - "value": 323 + "name": "MODIFIER_PROPERTY_MOVESPEED_BONUS_CONSTANT_UNIQUE_2", + "description": "Method Name: `GetModifierMoveSpeedBonus_Constant_Unique_2`", + "value": 25 }, { - "name": "MODIFIER_PROPERTY_DISASSEMBLE_ANYTHING", - "description": "Method Name: `GetModifierDisassembleAnything`", - "value": 324 + "name": "MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE", + "description": "Method Name: `GetModifierMoveSpeed_Absolute`", + "value": 26 }, { - "name": "MODIFIER_PROPERTY_FIXED_MANA_REGEN", - "description": "Method Name: `GetModifierFixedManaRegen`", - "value": 325 + "name": "MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE_MIN", + "description": "Method Name: `GetModifierMoveSpeed_AbsoluteMin`", + "value": 27 }, { - "name": "MODIFIER_PROPERTY_BONUS_UPHILL_MISS_CHANCE", - "description": "Method Name: `GetModifierBonusUphillMissChance`", - "value": 326 + "name": "MODIFIER_PROPERTY_MOVESPEED_ABSOLUTE_MAX", + "description": "Method Name: `GetModifierMoveSpeed_AbsoluteMax`", + "value": 28 }, { - "name": "MODIFIER_PROPERTY_CREEP_DENY_PERCENT", - "description": "Method Name: `GetModifierCreepDenyPercent`", - "value": 327 + "name": "MODIFIER_PROPERTY_IGNORE_MOVESPEED_LIMIT", + "description": "Method Name: `GetModifierIgnoreMovespeedLimit`", + "value": 29 }, { - "name": "MODIFIER_PROPERTY_ATTACKSPEED_ABSOLUTE_MAX", - "description": "Method Name: `GetModifierAttackSpeedAbsoluteMax`", - "value": 328 + "name": "MODIFIER_PROPERTY_MOVESPEED_LIMIT", + "description": "Method Name: `GetModifierMoveSpeed_Limit`", + "value": 30 }, { - "name": "MODIFIER_PROPERTY_FOW_TEAM", - "description": "Method Name: `GetModifierFoWTeam`", - "value": 329 + "name": "MODIFIER_PROPERTY_ATTACKSPEED_BASE_OVERRIDE", + "description": "Method Name: `GetModifierAttackSpeedBaseOverride`", + "value": 31 }, { - "name": "MODIFIER_EVENT_ON_HERO_BEGIN_DYING", - "description": "Method Name: `OnHeroBeginDying`", - "value": 330 + "name": "MODIFIER_PROPERTY_FIXED_ATTACK_RATE", + "description": "Method Name: `GetModifierFixedAttackRate`", + "value": 32 }, { - "name": "MODIFIER_PROPERTY_BONUS_LOTUS_HEAL", - "description": "Method Name: `GetModifierBonusLotusHeal`", - "value": 331 + "name": "MODIFIER_PROPERTY_ATTACKSPEED_BONUS_CONSTANT", + "description": "Method Name: `GetModifierAttackSpeedBonus_Constant`", + "value": 33 }, { - "name": "MODIFIER_PROPERTY_BASE_HP_REGEN_PER_STR_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierBonusLotusHeal`", - "value": 332 + "name": "MODIFIER_PROPERTY_IGNORE_ATTACKSPEED_LIMIT", + "description": "Method Name: `GetModifierAttackSpeed_Limit`", + "value": 34 }, { - "name": "MODIFIER_PROPERTY_BASE_ARMOR_PER_AGI_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierBonusLotusHeal`", - "value": 333 + "name": "MODIFIER_PROPERTY_COOLDOWN_REDUCTION_CONSTANT", + "description": "Method Name: `GetModifierCooldownReduction_Constant`", + "value": 35 }, { - "name": "MODIFIER_PROPERTY_BASE_MP_REGEN_PER_INT_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierBonusLotusHeal`", - "value": 334 + "name": "MODIFIER_PROPERTY_MANACOST_REDUCTION_CONSTANT", + "description": "Method Name: `GetModifierManacostReduction_Constant`", + "value": 36 }, { - "name": "MODIFIER_PROPERTY_BASE_MRES_PER_INT_BONUS_PERCENTAGE", - "description": "Method Name: `GetModifierBonusLotusHeal`", - "value": 335 + "name": "MODIFIER_PROPERTY_HEALTHCOST_REDUCTION_CONSTANT", + "description": "Method Name: `GetModifierHealthcostReduction_Constant`", + "value": 37 }, { - "name": "MODIFIER_EVENT_ON_DAY_STARTED", - "description": "Method Name: `OnDayStarted`", - "value": 336 + "name": "MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT", + "description": "Method Name: `GetModifierBaseAttackTimeConstant`", + "value": 38 }, { - "name": "MODIFIER_EVENT_ON_NIGHT_STARTED", - "description": "Method Name: `OnNightStarted`", - "value": 337 + "name": "MODIFIER_PROPERTY_BASE_ATTACK_TIME_CONSTANT_ADJUST", + "description": "Method Name: `GetModifierBaseAttackTimeConstant_Adjust`", + "value": 39 }, { - "name": "MODIFIER_PROPERTY_CREATE_BONUS_ILLUSION_CHANCE", - "description": "Method Name: `GetModifierCreateBonusIllusionChance`", - "value": 338 + "name": "MODIFIER_PROPERTY_BASE_ATTACK_TIME_PERCENTAGE", + "description": "Method Name: `GetModifierBaseAttackTimePercentage`", + "value": 40 }, { - "name": "MODIFIER_PROPERTY_CREATE_BONUS_ILLUSION_COUNT", - "description": "Method Name: `GetModifierCreateBonusIllusionCount`", - "value": 339 + "name": "MODIFIER_PROPERTY_ATTACK_POINT_CONSTANT", + "description": "Method Name: `GetModifierAttackPointConstant`", + "value": 41 }, { - "name": "MODIFIER_PROPERTY_PSEUDORANDOM_BONUS", - "description": "Method Name: `GetModofierPropertyPseudoRandomBonus`", - "value": 340 + "name": "MODIFIER_PROPERTY_BONUSDAMAGEOUTGOING_PERCENTAGE", + "description": "Method Name: `GetModifierBonusDamageOutgoing_Percentage`", + "value": 42 }, { - "name": "MODIFIER_PROPERTY_ATTACK_HEIGHT_BONUS", - "description": "Method Name: `GetModifierAttackHeightBonus`", - "value": 341 + "name": "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE", + "description": "Method Name: `GetModifierDamageOutgoing_Percentage`", + "value": 43 }, { - "name": "MODIFIER_PROPERTY_SKIP_ATTACK_REGULATOR", - "description": "Method Name: `GetSkipAttackRegulator`", - "value": 342 + "name": "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION", + "description": "Method Name: `GetModifierDamageOutgoing_Percentage_Illusion`", + "value": 44 }, { - "name": "MODIFIER_PROPERTY_MISS_PERCENTAGE_TARGET", - "description": "Method Name: `GetModifierMiss_Percentage_Target`", - "value": 343 + "name": "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_ILLUSION_AMPLIFY", + "description": "Method Name: `GetModifierDamageOutgoing_Percentage_Illusion_Amplify`", + "value": 45 }, { - "name": "MODIFIER_PROPERTY_ADDITIONAL_NEUTRAL_ITEM_DROPS", - "description": "Method Name: `GetModifierAdditionalNutralItemDrops`", - "value": 344 + "name": "MODIFIER_PROPERTY_TOTALDAMAGEOUTGOING_PERCENTAGE", + "description": "Method Name: `GetModifierTotalDamageOutgoing_Percentage`", + "value": 46 }, { - "name": "MODIFIER_PROPERTY_KILL_STREAK_BONUS_GOLD_PERCENTAGE", - "description": "Method Name: `GetModifierKillStreakBonusGoldPercentage`", - "value": 345 + "name": "MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_CREEP", + "description": "Method Name: `GetModifierSpellAmplify_PercentageCreep`", + "value": 47 }, { - "name": "MODIFIER_PROPERTY_HP_REGEN_MULTIPLIER_PRE_AMPLIFICATION", - "description": "Method Name: `GetModifierHPRegenMultiplierPreAmplification`", - "value": 346 + "name": "MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE", + "description": "Method Name: `GetModifierSpellAmplify_Percentage`", + "value": 48 }, { - "name": "MODIFIER_PROPERTY_HEROFACET_OVERRIDE", - "description": "Method Name: `GetModifierHeroFacetOverride`", - "value": 347 + "name": "MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_UNIQUE", + "description": "Method Name: `GetModifierSpellAmplify_PercentageUnique`", + "value": 49 }, { - "name": "MODIFIER_EVENT_ON_TREE_CUT_DOWN", - "description": "Method Name: `OnTreeCutDown`", - "value": 348 + "name": "MODIFIER_PROPERTY_SPELL_AMPLIFY_PERCENTAGE_TARGET", + "description": "Method Name: `GetModifierSpellAmplify_PercentageTarget`", + "value": 50 }, { - "name": "MODIFIER_EVENT_ON_CLEAVE_ATTACK_LANDED", - "description": "Method Name: `OnCleaveAttackLanded`", - "value": 349 + "name": "MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_SOURCE", + "description": "Method Name: `GetModifierHealAmplify_PercentageSource`", + "value": 51 }, { - "name": "MODIFIER_PROPERTY_MIN_ATTRIBUTE_LEVEL", - "description": "Method Name: `MinAttributeLevel`", - "value": 350 + "name": "MODIFIER_PROPERTY_HEAL_AMPLIFY_PERCENTAGE_TARGET", + "description": "Method Name: `GetModifierHealAmplify_PercentageTarget`", + "value": 52 }, { - "name": "MODIFIER_PROPERTY_TIER_TOKEN_REROLL", - "description": "Method Name: `GetTierTokenReroll`", - "value": 351 + "name": "MODIFIER_PROPERTY_HP_REGEN_CAN_BE_NEGATIVE", + "description": "Method Name: `GetModifierHPRegen_CanBeNegative`", + "value": 53 }, { - "name": "MODIFIER_PROPERTY_VISION_DEGREES_RESTRICTION", - "description": "Method Name: `GetVisionDegreeRestriction`", - "value": 352 + "name": "MODIFIER_PROPERTY_HP_REGEN_AMPLIFY_PERCENTAGE", + "description": "Method Name: `GetModifierHPRegenAmplify_Percentage`", + "value": 54 }, { - "name": "MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_STACKING", - "description": "Method Name: `GetModifierTotal_ConstantBlockStacking`", - "value": 353 + "name": "MODIFIER_PROPERTY_LIFESTEAL_AMPLIFY_PERCENTAGE", + "description": "Method Name: `GetModifierLifestealRegenAmplify_Percentage`", + "value": 55 }, { - "name": "MODIFIER_PROPERTY_INVENTORY_SLOT_RESTRICTED", - "description": "Method Name: `GetModifierInventorySlotRestricted`", - "value": 354 + "name": "MODIFIER_PROPERTY_SPELL_LIFESTEAL_AMPLIFY_PERCENTAGE", + "description": "Method Name: `GetModifierSpellLifestealRegenAmplify_Percentage`", + "value": 56 }, { - "name": "MODIFIER_EVENT_ON_TIER_TOKEN_REROLLED", - "description": "Method Name: `OnTierTokenRerolled`", - "value": 355 + "name": "MODIFIER_PROPERTY_SPELL_LIFESTEAL_AMPLIFY_PERCENTAGE_UNIQUE", + "description": "Method Name: `GetModifierSpellLifestealRegenAmplify_Percentage_Unique`", + "value": 57 }, { - "name": "MODIFIER_PROPERTY_REDIRECT_SPELL", - "description": "Method Name: `GetRedirectSpell`", - "value": 356 + "name": "MODIFIER_PROPERTY_MP_REGEN_AMPLIFY_PERCENTAGE", + "description": "Method Name: `GetModifierMPRegenAmplify_Percentage`", + "value": 58 }, { - "name": "MODIFIER_PROPERTY_BASEATTACK_POSTBONUS", - "description": "Method Name: `GetBaseAttackPostBonus`", - "value": 357 + "name": "MODIFIER_PROPERTY_MP_REGEN_AMPLIFY_PERCENTAGE_UNIQUE", + "description": "Method Name: `GetModifierMPRegenAmplify_Percentage_Unique`", + "value": 59 }, { - "name": "MODIFIER_EVENT_ON_FOW_TEAM_CHANGED", - "description": "Method Name: `OnFoWTeamChanged`", - "value": 358 + "name": "MODIFIER_PROPERTY_MANA_DRAIN_AMPLIFY_PERCENTAGE", + "description": "Method Name: `GetModifierManaDrainAmplify_Percentage`", + "value": 60 }, { - "name": "MODIFIER_PROPERTY_SUPPRESS_ATTACK_PROCS", - "description": "Method Name: `GetSuppressAttackProcs`", - "value": 359 + "name": "MODIFIER_PROPERTY_MP_RESTORE_AMPLIFY_PERCENTAGE", + "description": "Total amplify value is clamped to 0.\n\nMethod Name: `GetModifierMPRestoreAmplify_Percentage`.", + "value": 61 }, { - "name": "MODIFIER_EVENT_ON_ABILITY_TOGGLED", - "description": "Method Name: `OnAbilityToggled`", - "value": 360 + "name": "MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE", + "description": "Method Name: `GetModifierBaseDamageOutgoing_Percentage`", + "value": 62 }, { - "name": "MODIFIER_PROPERTY_AVOID_ATTACK_PROCS", - "description": "Method Name: `GetModifierAvoidAttackProcs`", - "value": 361 + "name": "MODIFIER_PROPERTY_BASEDAMAGEOUTGOING_PERCENTAGE_UNIQUE", + "description": "Method Name: `GetModifierBaseDamageOutgoing_PercentageUnique`", + "value": 63 }, { - "name": "MODIFIER_EVENT_ON_RUNE_SPAWN", - "description": "Method Name: `OnRuneSpawn`", - "value": 362 + "name": "MODIFIER_PROPERTY_INCOMING_DAMAGE_PERCENTAGE", + "description": "Method Name: `GetModifierIncomingDamage_Percentage`", + "value": 64 }, { - "name": "MODIFIER_PROPERTY_PHYSICAL_LIFESTEAL", - "description": "Method Name: `GetModifierProperty_PhysicalLifesteal`", - "value": 363 + "name": "MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_PERCENTAGE", + "description": "Method Name: `GetModifierIncomingPhysicalDamage_Percentage`", + "value": 65 }, { - "name": "MODIFIER_PROPERTY_MAGICAL_LIFESTEAL", - "description": "Method Name: `GetModifierProperty_MagicalLifesteal`", - "value": 364 + "name": "MODIFIER_PROPERTY_INCOMING_PHYSICAL_DAMAGE_CONSTANT", + "description": "This property controls 'physical' shield, if defined both on client and server. Return value on client should be current shield health, as a positive integer, on server - amount of damage blocked.\n\nMethod Name: `GetModifierIncomingPhysicalDamageConstant`.", + "value": 66 }, { - "name": "MODIFIER_EVENT_ON_PURE_DAMAGE_CALCULATED", - "description": "Method Name: `OnPureDamageCalculated`", - "value": 365 + "name": "MODIFIER_PROPERTY_INCOMING_SPELL_DAMAGE_CONSTANT", + "description": "This property controls 'spell' shield, if defined both on client and server. Return value on client should be current shield health, as a positive integer, on server - amount of damage blocked.\n\nMethod Name: `GetModifierIncomingSpellDamageConstant`.", + "value": 67 }, { - "name": "MODIFIER_EVENT_NEUTRAL_TRINKET_OPTIONS", - "description": "Method Name: `GetModifierNeutralTrinketOptions`", - "value": 366 + "name": "MODIFIER_PROPERTY_EVASION_CONSTANT", + "description": "Method Name: `GetModifierEvasion_Constant`", + "value": 68 }, { - "name": "MODIFIER_EVENT_NEUTRAL_ENHANCEMENT_OPTIONS", - "description": "Method Name: `GetModifierNeutralEnhancementOptions`", - "value": 367 + "name": "MODIFIER_PROPERTY_NEGATIVE_EVASION_CONSTANT", + "description": "Method Name: `GetModifierNegativeEvasion_Constant`", + "value": 69 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_MAX_BONUS_CONSTANT", - "description": "Method Name: `GetModifierMoveSpeedMax_BonusConstant`", - "value": 368 + "name": "MODIFIER_PROPERTY_STATUS_RESISTANCE", + "description": "Method Name: `GetModifierStatusResistance`", + "value": 70 }, { - "name": "MODIFIER_PROPERTY_MOVESPEED_POST_MULTIPLIER_BONUS_CONSTANT", - "description": "Method Name: `GetModifierMoveSpeedPostMultiplierBonus_Constant `", - "value": 369 + "name": "MODIFIER_PROPERTY_STATUS_RESISTANCE_STACKING", + "description": "Method Name: `GetModifierStatusResistanceStacking`", + "value": 71 }, { - "name": "MODIFIER_FUNCTION_LAST", - "value": 370 + "name": "MODIFIER_PROPERTY_STATUS_RESISTANCE_CASTER", + "description": "Method Name: `GetModifierStatusResistanceCaster`", + "value": 72 }, { - "name": "MODIFIER_FUNCTION_INVALID", - "value": 65535 - } - ] - }, - { - "name": "modifierstate", - "members": [ + "name": "MODIFIER_PROPERTY_AVOID_DAMAGE", + "description": "Method Name: `GetModifierAvoidDamage`", + "value": 73 + }, { - "name": "MODIFIER_STATE_ROOTED", - "value": 0 + "name": "MODIFIER_PROPERTY_AVOID_SPELL", + "description": "Method Name: `GetModifierAvoidSpell`", + "value": 74 }, { - "name": "MODIFIER_STATE_DISARMED", - "value": 1 + "name": "MODIFIER_PROPERTY_MISS_PERCENTAGE", + "description": "Method Name: `GetModifierMiss_Percentage`", + "value": 75 }, { - "name": "MODIFIER_STATE_ATTACK_IMMUNE", - "value": 2 + "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BASE_PERCENTAGE", + "description": "Values above 100% are ignored.\n\nMethod Name: `GetModifierPhysicalArmorBase_Percentage`.", + "value": 76 }, { - "name": "MODIFIER_STATE_SILENCED", - "value": 3 + "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_TOTAL_PERCENTAGE", + "description": "Method Name: `GetModifierPhysicalArmorTotal_Percentage`", + "value": 77 }, { - "name": "MODIFIER_STATE_MUTED", - "value": 4 + "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS", + "description": "Method Name: `GetModifierPhysicalArmorBonus`", + "value": 78 }, { - "name": "MODIFIER_STATE_STUNNED", - "value": 5 + "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE", + "description": "Method Name: `GetModifierPhysicalArmorBonusUnique`", + "value": 79 }, { - "name": "MODIFIER_STATE_HEXED", - "value": 6 + "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_UNIQUE_ACTIVE", + "description": "Method Name: `GetModifierPhysicalArmorBonusUniqueActive`", + "value": 80 }, { - "name": "MODIFIER_STATE_INVISIBLE", - "value": 7 + "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_BONUS_POST", + "description": "Method Name: `GetModifierPhysicalArmorBonusPost`", + "value": 81 }, { - "name": "MODIFIER_STATE_INVULNERABLE", - "value": 8 + "name": "MODIFIER_PROPERTY_MIN_PHYSICAL_ARMOR", + "description": "Method Name: `GetModifierMinPhysicalArmor`", + "value": 82 }, { - "name": "MODIFIER_STATE_MAGIC_IMMUNE", - "value": 9 + "name": "MODIFIER_PROPERTY_IGNORE_PHYSICAL_ARMOR", + "description": "Method Name: `GetModifierIgnorePhysicalArmor`", + "value": 83 }, { - "name": "MODIFIER_STATE_PROVIDES_VISION", - "value": 10 + "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BASE_REDUCTION", + "description": "Method Name: `GetModifierMagicalResistanceBaseReduction`", + "value": 84 }, { - "name": "MODIFIER_STATE_NIGHTMARED", - "value": 11 + "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DIRECT_MODIFICATION", + "description": "Method Name: `GetModifierMagicalResistanceDirectModification`", + "value": 85 }, { - "name": "MODIFIER_STATE_BLOCK_DISABLED", - "value": 12 + "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS", + "description": "Method Name: `GetModifierMagicalResistanceBonus`", + "value": 86 }, { - "name": "MODIFIER_STATE_EVADE_DISABLED", - "value": 13 + "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_ILLUSIONS", + "description": "Method Name: `GetModifierMagicalResistanceBonusIllusions`", + "value": 87 }, { - "name": "MODIFIER_STATE_UNSELECTABLE", - "value": 14 + "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_BONUS_UNIQUE", + "description": "Method Name: `GetModifierMagicalResistanceBonusUnique`", + "value": 88 }, { - "name": "MODIFIER_STATE_CANNOT_TARGET_ENEMIES", - "value": 15 + "name": "MODIFIER_PROPERTY_MAGICAL_RESISTANCE_DECREPIFY_UNIQUE", + "description": "Method Name: `GetModifierMagicalResistanceDecrepifyUnique`", + "value": 89 }, { - "name": "MODIFIER_STATE_CANNOT_TARGET_BUILDINGS", - "value": 16 + "name": "MODIFIER_PROPERTY_BASE_MANA_REGEN", + "description": "Method Name: `GetModifierBaseRegen`", + "value": 90 }, { - "name": "MODIFIER_STATE_CANNOT_MISS", - "value": 17 + "name": "MODIFIER_PROPERTY_MANA_REGEN_CONSTANT", + "description": "Method Name: `GetModifierConstantManaRegen`", + "value": 91 }, { - "name": "MODIFIER_STATE_SPECIALLY_DENIABLE", - "value": 18 + "name": "MODIFIER_PROPERTY_MANA_REGEN_CONSTANT_UNIQUE", + "description": "Method Name: `GetModifierConstantManaRegenUnique`", + "value": 92 }, { - "name": "MODIFIER_STATE_FROZEN", - "value": 19 + "name": "MODIFIER_PROPERTY_MANA_REGEN_TOTAL_PERCENTAGE", + "description": "Method Name: `GetModifierTotalPercentageManaRegen`", + "value": 93 }, { - "name": "MODIFIER_STATE_COMMAND_RESTRICTED", - "value": 20 + "name": "MODIFIER_PROPERTY_HEALTH_REGEN_CONSTANT", + "description": "Method Name: `GetModifierConstantHealthRegen`", + "value": 94 }, { - "name": "MODIFIER_STATE_NOT_ON_MINIMAP", - "value": 21 + "name": "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE", + "description": "Method Name: `GetModifierHealthRegenPercentage`", + "value": 95 }, { - "name": "MODIFIER_STATE_LOW_ATTACK_PRIORITY", - "value": 22 + "name": "MODIFIER_PROPERTY_HEALTH_REGEN_PERCENTAGE_UNIQUE", + "description": "Method Name: `GetModifierHealthRegenPercentageUnique`", + "value": 96 }, { - "name": "MODIFIER_STATE_NO_HEALTH_BAR", - "value": 23 + "name": "MODIFIER_PROPERTY_HEALTH_BONUS", + "description": "Method Name: `GetModifierHealthBonus`", + "value": 97 }, { - "name": "MODIFIER_STATE_NO_HEALTH_BAR_FOR_ENEMIES", - "value": 24 + "name": "MODIFIER_PROPERTY_MANA_BONUS", + "description": "Method Name: `GetModifierManaBonus`", + "value": 98 }, { - "name": "MODIFIER_STATE_NO_HEALTH_BAR_FOR_OTHER_PLAYERS", - "value": 25 + "name": "MODIFIER_PROPERTY_EXTRA_STRENGTH_BONUS", + "description": "Method Name: `GetModifierExtraStrengthBonus`", + "value": 99 }, { - "name": "MODIFIER_STATE_FLYING", - "value": 26 + "name": "MODIFIER_PROPERTY_EXTRA_HEALTH_BONUS", + "description": "Method Name: `GetModifierExtraHealthBonus`", + "value": 100 }, { - "name": "MODIFIER_STATE_NO_UNIT_COLLISION", - "value": 27 + "name": "MODIFIER_PROPERTY_EXTRA_MANA_BONUS", + "description": "Method Name: `GetModifierExtraManaBonus`", + "value": 101 }, { - "name": "MODIFIER_STATE_NO_TEAM_MOVE_TO", - "value": 28 + "name": "MODIFIER_PROPERTY_EXTRA_MANA_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierExtraManaBonusPercentage`", + "value": 102 }, { - "name": "MODIFIER_STATE_NO_TEAM_SELECT", - "value": 29 + "name": "MODIFIER_PROPERTY_EXTRA_HEALTH_PERCENTAGE", + "description": "Method Name: `GetModifierExtraHealthPercentage`", + "value": 103 }, { - "name": "MODIFIER_STATE_PASSIVES_DISABLED", - "value": 30 + "name": "MODIFIER_PROPERTY_EXTRA_MANA_PERCENTAGE", + "description": "Method Name: `GetModifierExtraManaPercentage`", + "value": 104 }, { - "name": "MODIFIER_STATE_DOMINATED", - "value": 31 + "name": "MODIFIER_PROPERTY_STATS_STRENGTH_BONUS", + "description": "Method Name: `GetModifierBonusStats_Strength`", + "value": 105 }, { - "name": "MODIFIER_STATE_BLIND", - "value": 32 + "name": "MODIFIER_PROPERTY_STATS_AGILITY_BONUS", + "description": "Method Name: `GetModifierBonusStats_Agility`", + "value": 106 }, { - "name": "MODIFIER_STATE_OUT_OF_GAME", - "value": 33 + "name": "MODIFIER_PROPERTY_STATS_INTELLECT_BONUS", + "description": "Method Name: `GetModifierBonusStats_Intellect`", + "value": 107 }, { - "name": "MODIFIER_STATE_FAKE_ALLY", - "value": 34 + "name": "MODIFIER_PROPERTY_STATS_STRENGTH_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierBonusStats_Strength_Percentage`", + "value": 108 }, { - "name": "MODIFIER_STATE_FLYING_FOR_PATHING_PURPOSES_ONLY", - "value": 35 + "name": "MODIFIER_PROPERTY_STATS_AGILITY_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierBonusStats_Agility_Percentage`", + "value": 109 }, { - "name": "MODIFIER_STATE_TRUESIGHT_IMMUNE", - "value": 36 + "name": "MODIFIER_PROPERTY_STATS_INTELLECT_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierBonusStats_Intellect_Percentage`", + "value": 110 }, { - "name": "MODIFIER_STATE_UNTARGETABLE", - "value": 37 + "name": "MODIFIER_PROPERTY_CAST_RANGE_BONUS", + "description": "Method Name: `GetModifierCastRangeBonus`", + "value": 111 }, { - "name": "MODIFIER_STATE_UNTARGETABLE_ALLIED", - "value": 38 + "name": "MODIFIER_PROPERTY_CAST_RANGE_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierCastRangeBonusPercentage`", + "value": 112 }, { - "name": "MODIFIER_STATE_UNTARGETABLE_ENEMY", - "value": 39 + "name": "MODIFIER_PROPERTY_CAST_RANGE_BONUS_TARGET", + "description": "Method Name: `GetModifierCastRangeBonusTarget`", + "value": 113 }, { - "name": "MODIFIER_STATE_UNTARGETABLE_SELF", - "value": 40 + "name": "MODIFIER_PROPERTY_CAST_RANGE_BONUS_STACKING", + "description": "Method Name: `GetModifierCastRangeBonusStacking`", + "value": 114 }, { - "name": "MODIFIER_STATE_IGNORING_MOVE_AND_ATTACK_ORDERS", - "value": 41 + "name": "MODIFIER_PROPERTY_ATTACK_RANGE_BASE_OVERRIDE", + "description": "Method Name: `GetModifierAttackRangeOverride`", + "value": 115 }, { - "name": "MODIFIER_STATE_ALLOW_PATHING_THROUGH_TREES", - "value": 42 + "name": "MODIFIER_PROPERTY_ATTACK_RANGE_BONUS", + "description": "Method Name: `GetModifierAttackRangeBonus`", + "value": 116 }, { - "name": "MODIFIER_STATE_NOT_ON_MINIMAP_FOR_ENEMIES", - "value": 43 + "name": "MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_UNIQUE", + "description": "Method Name: `GetModifierAttackRangeBonusUnique`", + "value": 117 }, { - "name": "MODIFIER_STATE_UNSLOWABLE", - "value": 44 + "name": "MODIFIER_PROPERTY_ATTACK_RANGE_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierAttackRangeBonusPercentage`", + "value": 118 }, { - "name": "MODIFIER_STATE_TETHERED", - "value": 45 + "name": "MODIFIER_PROPERTY_MAX_ATTACK_RANGE", + "description": "Method Name: `GetModifierMaxAttackRange`", + "value": 119 }, { - "name": "MODIFIER_STATE_IGNORING_STOP_ORDERS", - "value": 46 + "name": "MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS", + "description": "Method Name: `GetModifierProjectileSpeedBonus`", + "value": 120 }, { - "name": "MODIFIER_STATE_FEARED", - "value": 47 + "name": "MODIFIER_PROPERTY_PROJECTILE_SPEED_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierProjectileSpeedBonusPercentage`", + "value": 121 }, { - "name": "MODIFIER_STATE_TAUNTED", - "value": 48 + "name": "MODIFIER_PROPERTY_PROJECTILE_NAME", + "description": "Method Name: `GetModifierProjectileName`", + "value": 122 }, { - "name": "MODIFIER_STATE_CANNOT_BE_MOTION_CONTROLLED", - "value": 49 + "name": "MODIFIER_PROPERTY_REINCARNATION", + "description": "Method Name: `ReincarnateTime`", + "value": 123 }, { - "name": "MODIFIER_STATE_FORCED_FLYING_VISION", - "value": 50 + "name": "MODIFIER_PROPERTY_REINCARNATION_SUPPRESS_FX", + "description": "Method Name: `ReincarnateSuppressFX`", + "value": 124 }, { - "name": "MODIFIER_STATE_ATTACK_ALLIES", - "value": 51 + "name": "MODIFIER_PROPERTY_RESPAWNTIME", + "description": "Method Name: `GetModifierConstantRespawnTime`", + "value": 125 }, { - "name": "MODIFIER_STATE_ALLOW_PATHING_THROUGH_CLIFFS", - "value": 52 + "name": "MODIFIER_PROPERTY_RESPAWNTIME_PERCENTAGE", + "description": "Method Name: `GetModifierPercentageRespawnTime`", + "value": 126 }, { - "name": "MODIFIER_STATE_ALLOW_PATHING_THROUGH_FISSURE", - "value": 53 + "name": "MODIFIER_PROPERTY_RESPAWNTIME_STACKING", + "description": "Method Name: `GetModifierStackingRespawnTime`", + "value": 127 }, { - "name": "MODIFIER_STATE_SPECIALLY_UNDENIABLE", - "value": 54 + "name": "MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE", + "description": "Method Name: `GetModifierPercentageCooldown`", + "value": 128 }, { - "name": "MODIFIER_STATE_ALLOW_PATHING_THROUGH_OBSTRUCTIONS", - "value": 55 + "name": "MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_ONGOING", + "description": "Method Name: `GetModifierPercentageCooldownOngoing`", + "value": 129 }, { - "name": "MODIFIER_STATE_DEBUFF_IMMUNE", - "value": 56 + "name": "MODIFIER_PROPERTY_CASTTIME_PERCENTAGE", + "description": "Method Name: `GetModifierPercentageCasttime`", + "value": 130 }, { - "name": "MODIFIER_STATE_ALLOW_PATHING_THROUGH_BASE_BLOCKER", - "value": 57 + "name": "MODIFIER_PROPERTY_ATTACK_ANIM_TIME_PERCENTAGE", + "description": "Method Name: `GetModifierPercentageAttackAnimTime`", + "value": 131 }, { - "name": "MODIFIER_STATE_IGNORING_MOVE_ORDERS", - "value": 58 + "name": "MODIFIER_PROPERTY_MANACOST_PERCENTAGE", + "description": "Method Name: `GetModifierPercentageManacost`", + "value": 132 }, { - "name": "MODIFIER_STATE_ATTACKS_ARE_MELEE", - "value": 59 + "name": "MODIFIER_PROPERTY_MANACOST_PERCENTAGE_STACKING", + "description": "Method Name: `GetModifierPercentageManacostStacking`", + "value": 133 }, { - "name": "MODIFIER_STATE_CAN_USE_BACKPACK_ITEMS", - "value": 60 + "name": "MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE", + "description": "Method Name: `GetModifierPercentageHealthcost`", + "value": 134 }, { - "name": "MODIFIER_STATE_CASTS_IGNORE_CHANNELING", - "value": 61 + "name": "MODIFIER_PROPERTY_HEALTHCOST_PERCENTAGE_STACKING", + "description": "Method Name: `GetModifierPercentageHealthcostStacking`", + "value": 135 }, { - "name": "MODIFIER_STATE_ATTACKS_DONT_REVEAL", - "value": 62 + "name": "MODIFIER_PROPERTY_DEATHGOLDCOST", + "description": "Method Name: `GetModifierConstantDeathGoldCost`", + "value": 136 }, { - "name": "MODIFIER_STATE_NEUTRALS_DONT_ATTACK", - "value": 63 + "name": "MODIFIER_PROPERTY_PERCENTAGE_DEATHGOLDCOST", + "description": "Method Name: `GetModifierPercentageDeathGoldCost`", + "value": 137 }, { - "name": "MODIFIER_STATE_LAST", - "value": 64 - } - ] - }, - { - "name": "DOTAModifierAttribute_t", - "members": [ + "name": "MODIFIER_PROPERTY_EXP_RATE_BOOST", + "description": "Method Name: `GetModifierPercentageExpRateBoost`", + "value": 138 + }, { - "name": "MODIFIER_ATTRIBUTE_NONE", - "value": 0 + "name": "MODIFIER_PROPERTY_GOLD_RATE_BOOST", + "description": "Method Name: `GetModifierPercentageGoldRateBoost`", + "value": 139 }, { - "name": "MODIFIER_ATTRIBUTE_PERMANENT", - "value": 1 + "name": "MODIFIER_PROPERTY_PREATTACK_CRITICALSTRIKE", + "description": "Method Name: `GetModifierPreAttack_CriticalStrike`", + "value": 140 }, { - "name": "MODIFIER_ATTRIBUTE_MULTIPLE", - "value": 2 + "name": "MODIFIER_PROPERTY_PREATTACK_TARGET_CRITICALSTRIKE", + "description": "Method Name: `GetModifierPreAttack_Target_CriticalStrike`", + "value": 141 }, { - "name": "MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE", - "value": 4 + "name": "MODIFIER_PROPERTY_MAGICAL_CONSTANT_BLOCK", + "description": "Method Name: `GetModifierMagical_ConstantBlock`", + "value": 142 }, { - "name": "MODIFIER_ATTRIBUTE_AURA_PRIORITY", - "value": 8 + "name": "MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK", + "description": "Method Name: `GetModifierPhysical_ConstantBlock`", + "value": 143 }, { - "name": "MODIFIER_ATTRIBUTE_IGNORE_DODGE", - "value": 16 - } - ] - }, - { - "name": "Attributes", - "members": [ + "name": "MODIFIER_PROPERTY_PHYSICAL_CONSTANT_BLOCK_SPECIAL", + "description": "Method Name: `GetModifierPhysical_ConstantBlockSpecial`", + "value": 144 + }, { - "name": "DOTA_ATTRIBUTE_STRENGTH", - "value": 0 + "name": "MODIFIER_PROPERTY_INNATE_DAMAGE_BLOCK_PCT_OVERRIDE", + "description": "Method Name: `GetModifierInnateDamageBlockPctOverride`", + "value": 145 }, { - "name": "DOTA_ATTRIBUTE_AGILITY", - "value": 1 + "name": "MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_UNAVOIDABLE_PRE_ARMOR", + "description": "Method Name: `GetModifierPhysical_ConstantBlockUnavoidablePreArmor`", + "value": 146 }, { - "name": "DOTA_ATTRIBUTE_INTELLECT", - "value": 2 + "name": "MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK", + "description": "Method Name: `GetModifierTotal_ConstantBlock`", + "value": 147 }, { - "name": "DOTA_ATTRIBUTE_ALL", - "value": 3 + "name": "MODIFIER_PROPERTY_OVERRIDE_ANIMATION", + "description": "Method Name: `GetOverrideAnimation`", + "value": 148 }, { - "name": "DOTA_ATTRIBUTE_MAX", - "value": 4 + "name": "MODIFIER_PROPERTY_OVERRIDE_ANIMATION_RATE", + "description": "Method Name: `GetOverrideAnimationRate`", + "value": 149 }, { - "name": "DOTA_ATTRIBUTE_INVALID", - "value": -1 - } - ] - }, - { - "name": "ParticleAttachment_t", - "members": [ + "name": "MODIFIER_PROPERTY_ABSORB_SPELL", + "description": "Method Name: `GetAbsorbSpell`", + "value": 150 + }, { - "name": "PATTACH_INVALID", - "value": -1 + "name": "MODIFIER_PROPERTY_REFLECT_SPELL", + "description": "Method Name: `GetReflectSpell`", + "value": 151 }, { - "name": "PATTACH_ABSORIGIN", - "value": 0 + "name": "MODIFIER_PROPERTY_DISABLE_AUTOATTACK", + "description": "Method Name: `GetDisableAutoAttack`", + "value": 152 }, { - "name": "PATTACH_ABSORIGIN_FOLLOW", - "value": 1 + "name": "MODIFIER_PROPERTY_BONUS_DAY_VISION", + "description": "Method Name: `GetBonusDayVision`", + "value": 153 }, { - "name": "PATTACH_CUSTOMORIGIN", - "value": 2 + "name": "MODIFIER_PROPERTY_BONUS_DAY_VISION_PERCENTAGE", + "description": "Method Name: `GetBonusDayVisionPercentage`", + "value": 154 }, { - "name": "PATTACH_CUSTOMORIGIN_FOLLOW", - "value": 3 + "name": "MODIFIER_PROPERTY_BONUS_NIGHT_VISION", + "description": "Method Name: `GetBonusNightVision`", + "value": 155 }, { - "name": "PATTACH_POINT", - "value": 4 + "name": "MODIFIER_PROPERTY_BONUS_NIGHT_VISION_UNIQUE", + "description": "Method Name: `GetBonusNightVisionUnique`", + "value": 156 }, { - "name": "PATTACH_POINT_FOLLOW", - "value": 5 + "name": "MODIFIER_PROPERTY_BONUS_VISION_PERCENTAGE", + "description": "Method Name: `GetBonusVisionPercentage`", + "value": 157 }, { - "name": "PATTACH_EYES_FOLLOW", - "value": 6 + "name": "MODIFIER_PROPERTY_FIXED_DAY_VISION", + "description": "Method Name: `GetFixedDayVision`", + "value": 158 }, { - "name": "PATTACH_OVERHEAD_FOLLOW", - "value": 7 + "name": "MODIFIER_PROPERTY_FIXED_NIGHT_VISION", + "description": "Method Name: `GetFixedNightVision`", + "value": 159 }, { - "name": "PATTACH_WORLDORIGIN", - "value": 8 + "name": "MODIFIER_PROPERTY_MIN_HEALTH", + "description": "Method Name: `GetMinHealth`", + "value": 160 }, { - "name": "PATTACH_ROOTBONE_FOLLOW", - "value": 9 + "name": "MODIFIER_PROPERTY_MIN_MANA", + "description": "Method Name: `GetMinMana`", + "value": 161 }, { - "name": "PATTACH_RENDERORIGIN_FOLLOW", - "value": 10 + "name": "MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PHYSICAL", + "description": "Method Name: `GetAbsoluteNoDamagePhysical`", + "value": 162 }, { - "name": "PATTACH_MAIN_VIEW", - "value": 11 + "name": "MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_MAGICAL", + "description": "Method Name: `GetAbsoluteNoDamageMagical`", + "value": 163 }, { - "name": "PATTACH_WATERWAKE", - "value": 12 + "name": "MODIFIER_PROPERTY_ABSOLUTE_NO_DAMAGE_PURE", + "description": "Method Name: `GetAbsoluteNoDamagePure`", + "value": 164 }, { - "name": "PATTACH_CENTER_FOLLOW", - "value": 13 + "name": "MODIFIER_PROPERTY_IS_ILLUSION", + "description": "Method Name: `GetIsIllusion`", + "value": 165 }, { - "name": "PATTACH_CUSTOM_GAME_STATE_1", - "value": 14 + "name": "MODIFIER_PROPERTY_ILLUSION_LABEL", + "description": "Method Name: `GetModifierIllusionLabel`", + "value": 166 }, { - "name": "PATTACH_HEALTHBAR", - "value": 15 + "name": "MODIFIER_PROPERTY_STRONG_ILLUSION", + "description": "Method Name: `GetModifierStrongIllusion`", + "value": 167 }, { - "name": "MAX_PATTACH_TYPES", - "value": 16 - } - ] - }, - { - "name": "DOTA_MOTION_CONTROLLER_PRIORITY", - "members": [ - { - "name": "DOTA_MOTION_CONTROLLER_PRIORITY_LOWEST", - "value": 0 + "name": "MODIFIER_PROPERTY_SUPER_ILLUSION", + "description": "Method Name: `GetModifierSuperIllusion`", + "value": 168 }, { - "name": "DOTA_MOTION_CONTROLLER_PRIORITY_LOW", - "value": 1 + "name": "MODIFIER_PROPERTY_SUPER_ILLUSION_WITH_ULTIMATE", + "description": "Method Name: `GetModifierSuperIllusionWithUltimate`", + "value": 169 }, { - "name": "DOTA_MOTION_CONTROLLER_PRIORITY_MEDIUM", - "value": 2 + "name": "MODIFIER_PROPERTY_XP_DURING_DEATH", + "description": "Method Name: `GetModifierXPDuringDeath`", + "value": 170 }, { - "name": "DOTA_MOTION_CONTROLLER_PRIORITY_HIGH", - "value": 3 + "name": "MODIFIER_PROPERTY_TURN_RATE_PERCENTAGE", + "description": "Method Name: `GetModifierTurnRate_Percentage`", + "value": 171 }, { - "name": "DOTA_MOTION_CONTROLLER_PRIORITY_HIGHEST", - "value": 4 + "name": "MODIFIER_PROPERTY_TURN_RATE_OVERRIDE", + "description": "Method Name: `GetModifierTurnRate_Override`", + "value": 172 }, { - "name": "DOTA_MOTION_CONTROLLER_PRIORITY_ULTRA", - "value": 5 - } - ] - }, - { - "name": "DOTASpeechType_t", - "members": [ - { - "name": "DOTA_SPEECH_USER_INVALID", - "value": 0 + "name": "MODIFIER_PROPERTY_DISABLE_HEALING", + "description": "Method Name: `GetDisableHealing`", + "value": 173 }, { - "name": "DOTA_SPEECH_USER_SINGLE", - "value": 1 + "name": "MODIFIER_PROPERTY_DISABLE_MANA_GAIN", + "description": "Method Name: `GetDisableManaGain`", + "value": 174 }, { - "name": "DOTA_SPEECH_USER_TEAM", - "value": 2 + "name": "MODIFIER_PROPERTY_ALWAYS_ALLOW_ATTACK", + "description": "Method Name: `GetAlwaysAllowAttack`", + "value": 175 }, { - "name": "DOTA_SPEECH_USER_TEAM_NEARBY", - "value": 3 + "name": "MODIFIER_PROPERTY_ALWAYS_ETHEREAL_ATTACK", + "description": "Method Name: `GetAllowEtherealAttack`", + "value": 176 }, { - "name": "DOTA_SPEECH_USER_NEARBY", - "value": 4 + "name": "MODIFIER_PROPERTY_OVERRIDE_ATTACK_MAGICAL", + "description": "Method Name: `GetOverrideAttackMagical`", + "value": 177 }, { - "name": "DOTA_SPEECH_USER_ALL", - "value": 5 + "name": "MODIFIER_PROPERTY_UNIT_STATS_NEEDS_REFRESH", + "description": "Method Name: `GetModifierUnitStatsNeedsRefresh`", + "value": 178 }, { - "name": "DOTA_SPEECH_GOOD_TEAM", - "value": 6 + "name": "MODIFIER_PROPERTY_BOUNTY_CREEP_MULTIPLIER", + "value": 179 }, { - "name": "DOTA_SPEECH_BAD_TEAM", - "value": 7 + "name": "MODIFIER_PROPERTY_BOUNTY_OTHER_MULTIPLIER", + "value": 180 }, { - "name": "DOTA_SPEECH_SPECTATOR", - "value": 8 + "name": "MODIFIER_PROPERTY_UNIT_DISALLOW_UPGRADING", + "description": "Method Name: `GetModifierUnitDisllowUpgrading`", + "value": 181 }, { - "name": "DOTA_SPEECH_USER_TEAM_NOSPECTATOR", - "value": 9 + "name": "MODIFIER_PROPERTY_DODGE_PROJECTILE", + "description": "Method Name: `GetModifierDodgeProjectile`", + "value": 182 }, { - "name": "DOTA_SPEECH_RECIPIENT_TYPE_MAX", - "value": 10 - } - ] - }, - { - "name": "DOTAAbilitySpeakTrigger_t", - "members": [ - { - "name": "DOTA_ABILITY_SPEAK_START_ACTION_PHASE", - "value": 0 + "name": "MODIFIER_PROPERTY_TRIGGER_COSMETIC_AND_END_ATTACK", + "description": "Method Name: `GetTriggerCosmeticAndEndAttack`", + "value": 183 }, { - "name": "DOTA_ABILITY_SPEAK_CAST", - "value": 1 - } - ] - }, - { - "name": "DotaCustomUIType_t", - "members": [ - { - "name": "DOTA_CUSTOM_UI_TYPE_HUD", - "value": 0 + "name": "MODIFIER_PROPERTY_MAX_DEBUFF_DURATION", + "description": "Method Name: `GetModifierMaxDebuffDuration`", + "value": 184 }, { - "name": "DOTA_CUSTOM_UI_TYPE_HERO_SELECTION", - "value": 1 + "name": "MODIFIER_PROPERTY_PRIMARY_STAT_DAMAGE_MULTIPLIER", + "description": "Method Name: `GetPrimaryStatDamageMultiplier`", + "value": 185 }, { - "name": "DOTA_CUSTOM_UI_TYPE_PREGAME_STRATEGY", - "value": 2 + "name": "MODIFIER_PROPERTY_PREATTACK_DEADLY_BLOW", + "description": "Method Name: `GetModifierPreAttack_DeadlyBlow`", + "value": 186 }, { - "name": "DOTA_CUSTOM_UI_TYPE_GAME_INFO", - "value": 3 + "name": "MODIFIER_PROPERTY_ALWAYS_AUTOATTACK_WHILE_HOLD_POSITION", + "description": "Method Name: `GetAlwaysAutoAttackWhileHoldPosition`", + "value": 187 }, { - "name": "DOTA_CUSTOM_UI_TYPE_GAME_SETUP", - "value": 4 + "name": "MODIFIER_PROPERTY_PHYSICAL_ARMOR_PIERCING_PERCENTAGE_TARGET", + "description": "Method Name: `GetPhysicalArmorPiercingPercentageTarget`", + "value": 188 }, { - "name": "DOTA_CUSTOM_UI_TYPE_FLYOUT_SCOREBOARD", - "value": 5 + "name": "MODIFIER_PROPERTY_MAGICAL_ARMOR_PIERCING_PERCENTAGE_TARGET", + "description": "Method Name: `GetMagicalArmorPiercingPercentageTarget`", + "value": 189 }, { - "name": "DOTA_CUSTOM_UI_TYPE_HUD_TOP_BAR", - "value": 6 + "name": "MODIFIER_PROPERTY_CRITICAL_STRIKE_BONUS", + "description": "Method Name: `GetCriticalStrikeBonus`", + "value": 190 }, { - "name": "DOTA_CUSTOM_UI_TYPE_END_SCREEN", - "value": 7 + "name": "MODIFIER_PROPERTY_CONVERT_ATTACK_PHYSICAL_TO_PURE", + "description": "Method Name: `GetConvertAttackPhysicalToPure`", + "value": 191 }, { - "name": "DOTA_CUSTOM_UI_TYPE_COUNT", - "value": 8 + "name": "MODIFIER_EVENT_ON_SPELL_TARGET_READY", + "description": "Method Name: `OnSpellTargetReady`", + "value": 192 }, { - "name": "DOTA_CUSTOM_UI_TYPE_INVALID", - "value": -1 - } - ] - }, - { - "name": "DotaDefaultUIElement_t", - "members": [ + "name": "MODIFIER_EVENT_ON_ATTACK_RECORD", + "description": "Method Name: `OnAttackRecord`", + "value": 193 + }, { - "name": "DOTA_DEFAULT_UI_INVALID", - "value": -1 + "name": "MODIFIER_EVENT_ON_ATTACK_START", + "description": "Method Name: `OnAttackStart`", + "value": 194 }, { - "name": "DOTA_DEFAULT_UI_TOP_TIMEOFDAY", - "value": 0 + "name": "MODIFIER_EVENT_ON_ATTACK", + "description": "Method Name: `OnAttack`", + "value": 195 }, { - "name": "DOTA_DEFAULT_UI_TOP_HEROES", - "value": 1 + "name": "MODIFIER_EVENT_ON_ATTACK_LANDED", + "description": "Method Name: `OnAttackLanded`", + "value": 196 }, { - "name": "DOTA_DEFAULT_UI_FLYOUT_SCOREBOARD", - "value": 2 + "name": "MODIFIER_EVENT_ON_ATTACK_FAIL", + "description": "Method Name: `OnAttackFail`", + "value": 197 }, { - "name": "DOTA_DEFAULT_UI_ACTION_PANEL", - "value": 3 + "name": "MODIFIER_EVENT_ON_ATTACK_ALLIED", + "description": "Happens even if attack can't be issued.\n\nMethod Name: `OnAttackAllied`.", + "value": 198 }, { - "name": "DOTA_DEFAULT_UI_ACTION_MINIMAP", - "value": 4 + "name": "MODIFIER_EVENT_ON_PROJECTILE_DODGE", + "description": "Method Name: `OnProjectileDodge`", + "value": 199 }, { - "name": "DOTA_DEFAULT_UI_INVENTORY_PANEL", - "value": 5 + "name": "MODIFIER_EVENT_ON_ORDER", + "description": "Method Name: `OnOrder`", + "value": 200 }, { - "name": "DOTA_DEFAULT_UI_INVENTORY_SHOP", - "value": 6 + "name": "MODIFIER_EVENT_ON_UNIT_MOVED", + "description": "Method Name: `OnUnitMoved`", + "value": 201 }, { - "name": "DOTA_DEFAULT_UI_INVENTORY_ITEMS", - "value": 7 + "name": "MODIFIER_EVENT_ON_ABILITY_START", + "description": "Method Name: `OnAbilityStart`", + "value": 202 }, { - "name": "DOTA_DEFAULT_UI_INVENTORY_QUICKBUY", - "value": 8 + "name": "MODIFIER_EVENT_ON_ABILITY_EXECUTED", + "description": "Method Name: `OnAbilityExecuted`", + "value": 203 }, { - "name": "DOTA_DEFAULT_UI_INVENTORY_COURIER", - "value": 9 + "name": "MODIFIER_EVENT_ON_ABILITY_FULLY_CAST", + "description": "Method Name: `OnAbilityFullyCast`", + "value": 204 }, { - "name": "DOTA_DEFAULT_UI_INVENTORY_PROTECT", - "value": 10 + "name": "MODIFIER_EVENT_ON_BREAK_INVISIBILITY", + "description": "Method Name: `OnBreakInvisibility`", + "value": 205 }, { - "name": "DOTA_DEFAULT_UI_INVENTORY_GOLD", - "value": 11 + "name": "MODIFIER_EVENT_ON_ABILITY_END_CHANNEL", + "description": "Method Name: `OnAbilityEndChannel`", + "value": 206 }, { - "name": "DOTA_DEFAULT_UI_SHOP_SUGGESTEDITEMS", - "value": 12 + "name": "MODIFIER_EVENT_ON_PROCESS_UPGRADE", + "value": 207 }, { - "name": "DOTA_DEFAULT_UI_SHOP_COMMONITEMS", - "value": 13 + "name": "MODIFIER_EVENT_ON_REFRESH", + "value": 208 }, { - "name": "DOTA_DEFAULT_UI_HERO_SELECTION_TEAMS", - "value": 14 + "name": "MODIFIER_EVENT_ON_TAKEDAMAGE", + "description": "Method Name: `OnTakeDamage`", + "value": 209 }, { - "name": "DOTA_DEFAULT_UI_HERO_SELECTION_GAME_NAME", - "value": 15 + "name": "MODIFIER_EVENT_ON_DEATH_PREVENTED", + "description": "Method Name: `OnDamagePrevented`", + "value": 210 }, { - "name": "DOTA_DEFAULT_UI_HERO_SELECTION_CLOCK", - "value": 16 + "name": "MODIFIER_EVENT_ON_STATE_CHANGED", + "description": "Method Name: `OnStateChanged`", + "value": 211 }, { - "name": "DOTA_DEFAULT_UI_HERO_SELECTION_HEADER", - "value": 17 + "name": "MODIFIER_EVENT_ON_ORB_EFFECT", + "value": 212 }, { - "name": "DOTA_DEFAULT_UI_TOP_MENU_BUTTONS", - "value": 18 + "name": "MODIFIER_EVENT_ON_PROCESS_CLEAVE", + "description": "Method Name: `OnProcessCleave`", + "value": 213 }, { - "name": "DOTA_DEFAULT_UI_TOP_BAR_BACKGROUND", - "value": 19 + "name": "MODIFIER_EVENT_ON_DAMAGE_CALCULATED", + "description": "Method Name: `OnDamageCalculated`", + "value": 214 }, { - "name": "DOTA_DEFAULT_UI_TOP_BAR_RADIANT_TEAM", - "value": 20 + "name": "MODIFIER_EVENT_ON_MAGIC_DAMAGE_CALCULATED", + "description": "Method Name: `OnMagicDamageCalculated`", + "value": 215 }, { - "name": "DOTA_DEFAULT_UI_TOP_BAR_DIRE_TEAM", - "value": 21 + "name": "MODIFIER_EVENT_ON_ATTACKED", + "description": "Method Name: `OnAttacked`", + "value": 216 }, { - "name": "DOTA_DEFAULT_UI_TOP_BAR_SCORE", - "value": 22 + "name": "MODIFIER_EVENT_ON_DEATH", + "description": "Method Name: `OnDeath`", + "value": 217 }, { - "name": "DOTA_DEFAULT_UI_ENDGAME", - "value": 23 + "name": "MODIFIER_EVENT_ON_DEATH_COMPLETED", + "description": "Method Name: `OnDeathCompleted`", + "value": 218 }, { - "name": "DOTA_DEFAULT_UI_ENDGAME_CHAT", - "value": 24 + "name": "MODIFIER_EVENT_ON_RESPAWN", + "description": "Method Name: `OnRespawn`", + "value": 219 }, { - "name": "DOTA_DEFAULT_UI_QUICK_STATS", - "value": 25 + "name": "MODIFIER_EVENT_ON_SPENT_MANA", + "description": "Method Name: `OnSpentMana`", + "value": 220 }, { - "name": "DOTA_DEFAULT_UI_PREGAME_STRATEGYUI", - "value": 26 + "name": "MODIFIER_EVENT_ON_SPENT_HEALTH", + "description": "Method Name: `OnSpentHealth`", + "value": 221 }, { - "name": "DOTA_DEFAULT_UI_KILLCAM", - "value": 27 + "name": "MODIFIER_EVENT_ON_TELEPORTING", + "description": "Method Name: `OnTeleporting`", + "value": 222 }, { - "name": "DOTA_DEFAULT_UI_FIGHT_RECAP", - "value": 28 + "name": "MODIFIER_EVENT_ON_TELEPORTED", + "description": "Method Name: `OnTeleported`", + "value": 223 }, { - "name": "DOTA_DEFAULT_UI_TOP_BAR", - "value": 29 + "name": "MODIFIER_EVENT_ON_SET_LOCATION", + "description": "Method Name: `OnSetLocation`", + "value": 224 }, { - "name": "DOTA_DEFAULT_UI_CUSTOMUI_BEHIND_HUD_ELEMENTS", - "value": 30 + "name": "MODIFIER_EVENT_ON_HEALTH_GAINED", + "description": "Method Name: `OnHealthGained`", + "value": 225 }, { - "name": "DOTA_DEFAULT_UI_AGHANIMS_STATUS", - "value": 31 + "name": "MODIFIER_EVENT_ON_MANA_GAINED", + "description": "Method Name: `OnManaGained`", + "value": 226 }, { - "name": "DOTA_DEFAULT_UI_ELEMENT_COUNT", - "value": 32 - } - ] - }, - { - "name": "PlayerUltimateStateOrTime_t", - "members": [ - { - "name": "PLAYER_ULTIMATE_STATE_READY", - "value": 0 + "name": "MODIFIER_EVENT_ON_TAKEDAMAGE_KILLCREDIT", + "description": "Method Name: `OnTakeDamageKillCredit`", + "value": 227 }, { - "name": "PLAYER_ULTIMATE_STATE_NO_MANA", - "value": -1 + "name": "MODIFIER_EVENT_ON_HERO_KILLED", + "description": "Method Name: `OnHeroKilled`", + "value": 228 }, { - "name": "PLAYER_ULTIMATE_STATE_NOT_LEVELED", - "value": -2 + "name": "MODIFIER_EVENT_ON_HEAL_RECEIVED", + "description": "Method Name: `OnHealReceived`", + "value": 229 }, { - "name": "PLAYER_ULTIMATE_STATE_HIDDEN", - "value": -3 - } - ] - }, - { - "name": "PlayerOrderIssuer_t", - "members": [ - { - "name": "DOTA_ORDER_ISSUER_SELECTED_UNITS", - "value": 0 + "name": "MODIFIER_EVENT_ON_BUILDING_KILLED", + "description": "Method Name: `OnBuildingKilled`", + "value": 230 }, { - "name": "DOTA_ORDER_ISSUER_CURRENT_UNIT_ONLY", - "value": 1 + "name": "MODIFIER_EVENT_ON_MODEL_CHANGED", + "description": "Method Name: `OnModelChanged`", + "value": 231 }, { - "name": "DOTA_ORDER_ISSUER_HERO_ONLY", - "value": 2 + "name": "MODIFIER_EVENT_ON_MODIFIER_ADDED", + "description": "Method Name: `OnModifierAdded`", + "value": 232 }, { - "name": "DOTA_ORDER_ISSUER_PASSED_UNIT_ONLY", - "value": 3 - } - ] - }, - { - "name": "OrderQueueBehavior_t", - "members": [ - { - "name": "DOTA_ORDER_QUEUE_DEFAULT", - "value": 0 + "name": "MODIFIER_EVENT_ON_MODIFIER_REMOVED", + "description": "Method Name: `OnModifierRemoved`", + "value": 233 }, { - "name": "DOTA_ORDER_QUEUE_NEVER", - "value": 1 + "name": "MODIFIER_PROPERTY_TOOLTIP", + "description": "Method Name: `OnTooltip`", + "value": 234 }, { - "name": "DOTA_ORDER_QUEUE_ALWAYS", - "value": 2 - } - ] - }, - { - "name": "CLICK_BEHAVIORS", - "members": [ + "name": "MODIFIER_PROPERTY_MODEL_CHANGE", + "description": "Method Name: `GetModifierModelChange`", + "value": 235 + }, { - "name": "DOTA_CLICK_BEHAVIOR_NONE", - "value": 0 + "name": "MODIFIER_PROPERTY_MODEL_SCALE", + "description": "Method Name: `GetModifierModelScale`", + "value": 236 }, { - "name": "DOTA_CLICK_BEHAVIOR_MOVE", - "value": 1 + "name": "MODIFIER_PROPERTY_MODEL_SCALE_ANIMATE_TIME", + "description": "Method Name: `GetModifierModelScaleAnimateTime`", + "value": 237 }, { - "name": "DOTA_CLICK_BEHAVIOR_ATTACK", - "value": 2 + "name": "MODIFIER_PROPERTY_MODEL_SCALE_USE_IN_OUT_EASE", + "description": "Method Name: `GetModifierModelScaleUseInOutEase`", + "value": 238 }, { - "name": "DOTA_CLICK_BEHAVIOR_CAST", - "value": 3 + "name": "MODIFIER_PROPERTY_MODEL_SCALE_CONSTANT", + "description": "Method Name: `GetModifierModelScaleConstant`", + "value": 239 }, { - "name": "DOTA_CLICK_BEHAVIOR_DROP_ITEM", - "value": 4 + "name": "MODIFIER_PROPERTY_IS_SCEPTER", + "description": "Applies scepter when this property is active\n\nMethod Name: `GetModifierScepter`.", + "value": 240 }, { - "name": "DOTA_CLICK_BEHAVIOR_DROP_SHOP_ITEM", - "value": 5 + "name": "MODIFIER_PROPERTY_IS_SHARD", + "description": "Applies shard when this property is active\n\nMethod Name: `GetModifierShard`.", + "value": 241 }, { - "name": "DOTA_CLICK_BEHAVIOR_DRAG", - "value": 6 + "name": "MODIFIER_PROPERTY_RADAR_COOLDOWN_REDUCTION", + "description": "Method Name: `GetModifierRadarCooldownReduction`", + "value": 242 }, { - "name": "DOTA_CLICK_BEHAVIOR_LEARN_ABILITY", - "value": 7 + "name": "MODIFIER_PROPERTY_TRANSLATE_ACTIVITY_MODIFIERS", + "description": "Method Name: `GetActivityTranslationModifiers`", + "value": 243 }, { - "name": "DOTA_CLICK_BEHAVIOR_PATROL", - "value": 8 + "name": "MODIFIER_PROPERTY_TRANSLATE_ATTACK_SOUND", + "description": "Method Name: `GetAttackSound`", + "value": 244 }, { - "name": "DOTA_CLICK_BEHAVIOR_VECTOR_CAST", - "value": 9 + "name": "MODIFIER_PROPERTY_LIFETIME_FRACTION", + "description": "Method Name: `GetUnitLifetimeFraction`", + "value": 245 }, { - "name": "DOTA_CLICK_BEHAVIOR_UNUSED", - "value": 10 + "name": "MODIFIER_PROPERTY_PROVIDES_FOW_POSITION", + "description": "Method Name: `GetModifierProvidesFOWVision`", + "value": 246 }, { - "name": "DOTA_CLICK_BEHAVIOR_RADAR", - "value": 11 + "name": "MODIFIER_PROPERTY_SPELLS_REQUIRE_HP", + "description": "Method Name: `GetModifierSpellsRequireHP`", + "value": 247 }, { - "name": "DOTA_CLICK_BEHAVIOR_LAST", - "value": 12 - } - ] - }, - { - "name": "AbilityLearnResult_t", - "members": [ + "name": "MODIFIER_PROPERTY_CONVERT_MANA_COST_TO_HEALTH_COST", + "description": "Method Name: `GetModifierConvertManaCostToHealthCost`", + "value": 248 + }, { - "name": "ABILITY_CAN_BE_UPGRADED", - "value": 0 + "name": "MODIFIER_PROPERTY_FORCE_DRAW_MINIMAP", + "description": "Method Name: `GetForceDrawOnMinimap`", + "value": 249 }, { - "name": "ABILITY_CANNOT_BE_UPGRADED_NOT_UPGRADABLE", - "value": 1 + "name": "MODIFIER_PROPERTY_DISABLE_TURNING", + "description": "Method Name: `GetModifierDisableTurning`", + "value": 250 }, { - "name": "ABILITY_CANNOT_BE_UPGRADED_AT_MAX", - "value": 2 + "name": "MODIFIER_PROPERTY_IGNORE_CAST_ANGLE", + "description": "Method Name: `GetModifierIgnoreCastAngle`", + "value": 251 }, { - "name": "ABILITY_CANNOT_BE_UPGRADED_REQUIRES_LEVEL", - "value": 3 + "name": "MODIFIER_PROPERTY_CHANGE_ABILITY_VALUE", + "description": "Method Name: `GetModifierChangeAbilityValue`", + "value": 252 }, { - "name": "ABILITY_NOT_LEARNABLE", - "value": 4 - } - ] - }, - { - "name": "DOTAKeybindCommand_t", - "members": [ + "name": "MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL", + "description": "Method Name: `GetModifierOverrideAbilitySpecial`", + "value": 253 + }, { - "name": "DOTA_KEYBIND_NONE", - "value": 0 + "name": "MODIFIER_PROPERTY_OVERRIDE_ABILITY_SPECIAL_VALUE", + "description": "Method Name: `GetModifierOverrideAbilitySpecialValue`", + "value": 254 }, { - "name": "DOTA_KEYBIND_FIRST", - "value": 1 + "name": "MODIFIER_PROPERTY_ABILITY_LAYOUT", + "description": "Method Name: `GetModifierAbilityLayout`", + "value": 255 }, { - "name": "DOTA_KEYBIND_CAMERA_UP", - "value": 1 + "name": "MODIFIER_EVENT_ON_DOMINATED", + "description": "Method Name: `OnDominated`", + "value": 256 }, { - "name": "DOTA_KEYBIND_CAMERA_DOWN", - "value": 2 + "name": "MODIFIER_EVENT_ON_KILL", + "description": "Method Name: `OnKill`", + "value": 257 }, { - "name": "DOTA_KEYBIND_CAMERA_LEFT", - "value": 3 + "name": "MODIFIER_EVENT_ON_ASSIST", + "description": "Method Name: `OnAssist`", + "value": 258 }, { - "name": "DOTA_KEYBIND_CAMERA_RIGHT", - "value": 4 + "name": "MODIFIER_PROPERTY_TEMPEST_DOUBLE", + "description": "Method Name: `GetModifierTempestDouble`", + "value": 259 }, { - "name": "DOTA_KEYBIND_CAMERA_GRIP", - "value": 5 + "name": "MODIFIER_PROPERTY_PRESERVE_PARTICLES_ON_MODEL_CHANGE", + "description": "Method Name: `PreserveParticlesOnModelChanged`", + "value": 260 }, { - "name": "DOTA_KEYBIND_CAMERA_YAW_GRIP", - "value": 6 + "name": "MODIFIER_EVENT_ON_ATTACK_FINISHED", + "description": "Method Name: `OnAttackFinished`", + "value": 261 }, { - "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_1", - "value": 7 + "name": "MODIFIER_PROPERTY_IGNORE_COOLDOWN", + "description": "Method Name: `GetModifierIgnoreCooldown`", + "value": 262 }, { - "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_2", - "value": 8 + "name": "MODIFIER_PROPERTY_CAN_ATTACK_TREES", + "description": "Method Name: `GetModifierCanAttackTrees`", + "value": 263 }, { - "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_3", - "value": 9 + "name": "MODIFIER_PROPERTY_VISUAL_Z_DELTA", + "description": "Method Name: `GetVisualZDelta`", + "value": 264 }, { - "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_4", - "value": 10 + "name": "MODIFIER_PROPERTY_VISUAL_Z_SPEED_BASE_OVERRIDE", + "description": "Method Name: `GetVisualZSpeedBaseOverride`", + "value": 265 }, { - "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_5", - "value": 11 + "name": "MODIFIER_PROPERTY_INCOMING_DAMAGE_ILLUSION", + "value": 266 }, { - "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_6", - "value": 12 + "name": "MODIFIER_PROPERTY_DONT_GIVE_VISION_OF_ATTACKER", + "description": "Method Name: `GetModifierNoVisionOfAttacker`", + "value": 267 }, { - "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_7", - "value": 13 + "name": "MODIFIER_PROPERTY_TOOLTIP2", + "description": "Method Name: `OnTooltip2`", + "value": 268 }, { - "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_8", - "value": 14 + "name": "MODIFIER_EVENT_ON_ATTACK_RECORD_DESTROY", + "description": "Method Name: `OnAttackRecordDestroy`", + "value": 269 }, { - "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_9", - "value": 15 + "name": "MODIFIER_EVENT_ON_PROJECTILE_OBSTRUCTION_HIT", + "description": "Method Name: `OnProjectileObstructionHit`", + "value": 270 }, { - "name": "DOTA_KEYBIND_CAMERA_SAVED_POSITION_10", - "value": 16 + "name": "MODIFIER_PROPERTY_SUPPRESS_TELEPORT", + "description": "Method Name: `GetSuppressTeleport`", + "value": 271 }, { - "name": "DOTA_KEYBIND_HERO_ATTACK", - "value": 17 + "name": "MODIFIER_EVENT_ON_ATTACK_CANCELLED", + "description": "Method Name: `OnAttackCancelled`", + "value": 272 }, { - "name": "DOTA_KEYBIND_HERO_MOVE", - "value": 18 + "name": "MODIFIER_PROPERTY_SUPPRESS_CLEAVE", + "description": "Method Name: `GetSuppressCleave`", + "value": 273 }, { - "name": "DOTA_KEYBIND_HERO_MOVE_DIRECTION", - "value": 19 + "name": "MODIFIER_PROPERTY_BOT_ATTACK_SCORE_BONUS", + "description": "Method Name: `BotAttackScoreBonus`", + "value": 274 }, { - "name": "DOTA_KEYBIND_PATROL", - "value": 20 + "name": "MODIFIER_PROPERTY_ATTACKSPEED_REDUCTION_PERCENTAGE", + "description": "Method Name: `GetModifierAttackSpeedReductionPercentage`", + "value": 275 }, { - "name": "DOTA_KEYBIND_HERO_STOP", - "value": 21 + "name": "MODIFIER_PROPERTY_MOVESPEED_REDUCTION_PERCENTAGE", + "description": "Method Name: `GetModifierMoveSpeedReductionPercentage`", + "value": 276 }, { - "name": "DOTA_KEYBIND_HERO_HOLD", - "value": 22 + "name": "MODIFIER_PROPERTY_ATTACK_WHILE_MOVING_TARGET", + "value": 277 }, { - "name": "DOTA_KEYBIND_HERO_SELECT", - "value": 23 + "name": "MODIFIER_PROPERTY_ATTACKSPEED_PERCENTAGE", + "description": "Method Name: `GetModifierAttackSpeedPercentage`", + "value": 278 }, { - "name": "DOTA_KEYBIND_COURIER_SELECT", - "value": 24 + "name": "MODIFIER_EVENT_ON_ATTEMPT_PROJECTILE_DODGE", + "description": "Method Name: `OnAttemptProjectileDodge`", + "value": 279 }, { - "name": "DOTA_KEYBIND_COURIER_DELIVER", - "value": 25 + "name": "MODIFIER_EVENT_ON_PREDEBUFF_APPLIED", + "description": "Method Name: `OnPreDebuffApplied`", + "value": 280 }, { - "name": "DOTA_KEYBIND_COURIER_BURST", - "value": 26 + "name": "MODIFIER_PROPERTY_COOLDOWN_PERCENTAGE_STACKING", + "description": "Method Name: `GetModifierPercentageCooldownStacking`", + "value": 281 }, { - "name": "DOTA_KEYBIND_COURIER_SHIELD", - "value": 27 + "name": "MODIFIER_PROPERTY_SPELL_REDIRECT_TARGET", + "description": "Method Name: `GetModifierSpellRedirectTarget`", + "value": 282 }, { - "name": "DOTA_KEYBIND_PAUSE", - "value": 28 + "name": "MODIFIER_PROPERTY_TURN_RATE_CONSTANT", + "description": "Method Name: `GetModifierTurnRateConstant`", + "value": 283 }, { - "name": "DOTA_SELECT_ALL", - "value": 29 + "name": "MODIFIER_PROPERTY_PACK_RAT", + "description": "Method Name: `GetModifierIsPackRat`", + "value": 284 }, { - "name": "DOTA_SELECT_ALL_OTHERS", - "value": 30 + "name": "MODIFIER_PROPERTY_PHYSICALDAMAGEOUTGOING_PERCENTAGE", + "description": "Method Name: `GetModifierPhysicalDamageOutgoing_Percentage`", + "value": 285 }, { - "name": "DOTA_RECENT_EVENT", - "value": 31 + "name": "MODIFIER_PROPERTY_KNOCKBACK_AMPLIFICATION_PERCENTAGE", + "description": "Method Name: `GetModifierKnockbackAmplification_Percentage`", + "value": 286 }, { - "name": "DOTA_KEYBIND_CHAT_TEAM", - "value": 32 + "name": "MODIFIER_PROPERTY_HEALTHBAR_PIPS", + "description": "Return value is a count of pips.\n\nMethod Name: `GetModifierHealthBarPips`.", + "value": 287 }, { - "name": "DOTA_KEYBIND_CHAT_GLOBAL", - "value": 33 + "name": "MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT", + "description": "This property controls 'universal' shield, if defined both on client and server. Return value on client should be current shield health, as a positive integer, on server - amount of damage blocked.\n\nMethod Name: `GetModifierIncomingDamageConstant`.", + "value": 288 }, { - "name": "DOTA_KEYBIND_CHAT_TEAM2", - "value": 34 + "name": "MODIFIER_EVENT_SPELL_APPLIED_SUCCESSFULLY", + "description": "Method Name: `OnSpellAppliedSuccessfully`", + "value": 289 }, { - "name": "DOTA_KEYBIND_CHAT_GLOBAL2", - "value": 35 + "name": "MODIFIER_PROPERTY_AVOID_DAMAGE_AFTER_REDUCTIONS", + "description": "Method Name: `GetModifierAvoidDamageAfterReductions`", + "value": 290 }, { - "name": "DOTA_KEYBIND_CHAT_VOICE_PARTY", - "value": 36 + "name": "MODIFIER_PROPERTY_FAIL_ATTACK", + "description": "Method Name: `GetModifierPropetyFailAttack`", + "value": 291 }, { - "name": "DOTA_KEYBIND_CHAT_VOICE_TEAM", - "value": 37 + "name": "MODIFIER_PROPERTY_PREREDUCE_INCOMING_DAMAGE_MULT", + "description": "Method Name: `GetModifierPrereduceIncomingDamage_Mult`", + "value": 292 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL", - "value": 38 + "name": "MODIFIER_PROPERTY_SUPPRESS_FULLSCREEN_DEATH_FX", + "description": "Method Name: `GetModifierSuppressFullscreenDeathFX`", + "value": 293 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL2", - "value": 39 + "name": "MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT_POST", + "description": "Method Name: `MODIFIER_PROPERTY_INCOMING_DAMAGE_CONSTANT_POST`", + "value": 294 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_CARE", - "value": 40 + "name": "MODIFIER_PROPERTY_DAMAGEOUTGOING_PERCENTAGE_MULTIPLICATIVE", + "description": "Method Name: `GetModifierDamageOutgoing_PercentageMultiplicative`", + "value": 295 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_BACK", - "value": 41 + "name": "MODIFIER_PROPERTY_TICK_GOLD_MULTIPLIER", + "description": "Method Name: `GetModifierTickGold_Multiplier`", + "value": 296 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_NEED_WARDS", - "value": 42 + "name": "MODIFIER_PROPERTY_SLOW_RESISTANCE_UNIQUE", + "description": "Method Name: `GEtModifierSlowResistance_Unique`", + "value": 297 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_STUN", - "value": 43 + "name": "MODIFIER_PROPERTY_SLOW_RESISTANCE_STACKING", + "description": "Method Name: `GetModifierSlowResistance_Stacking`", + "value": 298 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_HELP", - "value": 44 + "name": "MODIFIER_PROPERTY_SLOW_RESISTANCE_APPLIES_TO_ATTACKS", + "description": "Method Name: `GetModifierSlowResistanceAppliesToAttacks`", + "value": 299 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_GET_PUSH", - "value": 45 + "name": "MODIFIER_PROPERTY_AOE_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierAoEBonusPercentage`", + "value": 300 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_GOOD_JOB", - "value": 46 + "name": "MODIFIER_PROPERTY_PROJECTILE_SPEED", + "description": "Method Name: `GetModifierProjectileSpeed`", + "value": 301 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_MISSING", - "value": 47 + "name": "MODIFIER_PROPERTY_PROJECTILE_SPEED_TARGET", + "description": "Method Name: `GetModifierProjectileSpeedTarget`", + "value": 302 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_MISSING_TOP", - "value": 48 + "name": "MODIFIER_PROPERTY_BECOME_STRENGTH", + "description": "Method Name: `GetModifierBecomeStrength`", + "value": 303 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_MISSING_MIDDLE", - "value": 49 + "name": "MODIFIER_PROPERTY_BECOME_AGILITY", + "description": "Method Name: `GetModifierBecomeAgility`", + "value": 304 }, { - "name": "DOTA_KEYBIND_CHAT_WHEEL_MISSING_BOTTOM", - "value": 50 + "name": "MODIFIER_PROPERTY_BECOME_INTELLIGENCE", + "description": "Method Name: `GetModifierBecomeIntelligence`", + "value": 305 }, { - "name": "DOTA_KEYBIND_HERO_CHAT_WHEEL", - "value": 51 + "name": "MODIFIER_PROPERTY_BECOME_UNIVERSAL", + "description": "Method Name: `GetModifierBecomeUniversal`", + "value": 306 }, { - "name": "DOTA_KEYBIND_SPRAY_WHEEL", - "value": 52 + "name": "MODIFIER_EVENT_ON_FORCE_PROC_MAGIC_STICK", + "description": "Method Name: `OnForceProcMagicStick`", + "value": 307 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY1", - "value": 53 + "name": "MODIFIER_EVENT_ON_DAMAGE_HPLOSS", + "description": "Method Name: `OnDamageHPLoss`", + "value": 308 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY2", - "value": 54 + "name": "MODIFIER_PROPERTY_SHARE_XPRUNE", + "description": "Method Name: `GetModifierShareXPRune`", + "value": 309 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY3", - "value": 55 + "name": "MODIFIER_PROPERTY_XP_FOUNTAIN_COUNTDOWN_TIME_OVERRIDE", + "description": "Method Name: `GetModifierXPFountainCountdownTimeOverride`", + "value": 310 }, { - "name": "DOTA_KEYBIND_ABILITY_SECONDARY1", - "value": 56 + "name": "MODIFIER_PROPERTY_NO_FREE_TP_SCROLL_ON_DEATH", + "description": "Method Name: `GetModifierNoFreeTPScrollOnDeath`", + "value": 311 }, { - "name": "DOTA_KEYBIND_ABILITY_SECONDARY2", - "value": 57 + "name": "MODIFIER_PROPERTY_HAS_BONUS_NEUTRAL_ITEM_CHOICE", + "description": "Method Name: `GetModifierHasBonusNeutralItemChoice`", + "value": 312 }, { - "name": "DOTA_KEYBIND_ABILITY_ULTIMATE", - "value": 58 + "name": "MODIFIER_PROPERTY_PRESERVE_NEUTRAL_ITEM_PASSIVES", + "description": "Method Name: `GetModifierPreserveNeutralItemPassives`", + "value": 313 }, { - "name": "DOTA_KEYBIND_TALENT_UPGRADE_LEFT", - "value": 59 + "name": "MODIFIER_PROPERTY_FORCE_MAX_HEALTH", + "description": "Method Name: `GetModifierForceMaxHealth`", + "value": 314 }, { - "name": "DOTA_KEYBIND_TALENT_UPGRADE_RIGHT", - "value": 60 + "name": "MODIFIER_PROPERTY_FORCE_MAX_MANA", + "description": "Method Name: `GetModifierForceMaxMana`", + "value": 315 }, { - "name": "DOTA_KEYBIND_TALENT_UPGRADE_ATTRIBUTE", - "value": 61 + "name": "MODIFIER_PROPERTY_AOE_BONUS_CONSTANT", + "description": "Method Name: `GetModifierAoEBonusConstant`", + "value": 316 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY1_QUICKCAST", - "value": 62 + "name": "MODIFIER_PROPERTY_AOE_BONUS_CONSTANT_STACKING", + "description": "Method Name: `GetModifierAoEBonusConstantStacking`", + "value": 317 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY2_QUICKCAST", - "value": 63 + "name": "MODIFIER_EVENT_ON_TAKEDAMAGE_POST_UNAVOIDABLE_BLOCK", + "description": "Method Name: `OnTakeDamagePostUnavoidableBlock`", + "value": 318 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY3_QUICKCAST", - "value": 64 + "name": "MODIFIER_EVENT_ON_MUTE_DAMAGE_ABILITIES", + "description": "Method Name: `OnMuteDamageAbilities`", + "value": 319 }, { - "name": "DOTA_KEYBIND_ABILITY_SECONDARY1_QUICKCAST", - "value": 65 + "name": "MODIFIER_PROPERTY_SUPPRESS_CRIT", + "description": "Method Name: `GetSuppressCrit`", + "value": 320 }, { - "name": "DOTA_KEYBIND_ABILITY_SECONDARY2_QUICKCAST", - "value": 66 + "name": "MODIFIER_PROPERTY_ABILITY_POINTS", + "description": "Method Name: `GetModifierAbilityPoints`", + "value": 321 }, { - "name": "DOTA_KEYBIND_ABILITY_ULTIMATE_QUICKCAST", - "value": 67 + "name": "MODIFIER_PROPERTY_BUYBACK_PENALTY_PERCENT", + "description": "Method Name: `GetModifierBuybackPenaltyPercent`", + "value": 322 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY1_EXPLICIT_AUTOCAST", - "value": 68 + "name": "MODIFIER_PROPERTY_ITEM_SELLBACK_COST", + "description": "Method Name: `GetModifierItemSellbackCost`", + "value": 323 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY2_EXPLICIT_AUTOCAST", - "value": 69 + "name": "MODIFIER_PROPERTY_DISASSEMBLE_ANYTHING", + "description": "Method Name: `GetModifierDisassembleAnything`", + "value": 324 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY3_EXPLICIT_AUTOCAST", - "value": 70 + "name": "MODIFIER_PROPERTY_FIXED_MANA_REGEN", + "description": "Method Name: `GetModifierFixedManaRegen`", + "value": 325 }, { - "name": "DOTA_KEYBIND_ABILITY_SECONDARY1_EXPLICIT_AUTOCAST", - "value": 71 + "name": "MODIFIER_PROPERTY_BONUS_UPHILL_MISS_CHANCE", + "description": "Method Name: `GetModifierBonusUphillMissChance`", + "value": 326 }, { - "name": "DOTA_KEYBIND_ABILITY_SECONDARY2_EXPLICIT_AUTOCAST", - "value": 72 + "name": "MODIFIER_PROPERTY_CREEP_DENY_PERCENT", + "description": "Method Name: `GetModifierCreepDenyPercent`", + "value": 327 }, { - "name": "DOTA_KEYBIND_ABILITY_ULTIMATE_EXPLICIT_AUTOCAST", - "value": 73 + "name": "MODIFIER_PROPERTY_ATTACKSPEED_ABSOLUTE_MAX", + "description": "Method Name: `GetModifierAttackSpeedAbsoluteMax`", + "value": 328 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY1_QUICKCAST_AUTOCAST", - "value": 74 + "name": "MODIFIER_PROPERTY_FOW_TEAM", + "description": "Method Name: `GetModifierFoWTeam`", + "value": 329 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY2_QUICKCAST_AUTOCAST", - "value": 75 + "name": "MODIFIER_EVENT_ON_HERO_BEGIN_DYING", + "description": "Method Name: `OnHeroBeginDying`", + "value": 330 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY3_QUICKCAST_AUTOCAST", - "value": 76 + "name": "MODIFIER_PROPERTY_BONUS_LOTUS_HEAL", + "description": "Method Name: `GetModifierBonusLotusHeal`", + "value": 331 }, { - "name": "DOTA_KEYBIND_ABILITY_SECONDARY1_QUICKCAST_AUTOCAST", - "value": 77 + "name": "MODIFIER_PROPERTY_BASE_HP_REGEN_PER_STR_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierBonusLotusHeal`", + "value": 332 }, { - "name": "DOTA_KEYBIND_ABILITY_SECONDARY2_QUICKCAST_AUTOCAST", - "value": 78 + "name": "MODIFIER_PROPERTY_BASE_ARMOR_PER_AGI_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierBonusLotusHeal`", + "value": 333 }, { - "name": "DOTA_KEYBIND_ABILITY_ULTIMATE_QUICKCAST_AUTOCAST", - "value": 79 + "name": "MODIFIER_PROPERTY_BASE_MP_REGEN_PER_INT_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierBonusLotusHeal`", + "value": 334 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY1_AUTOMATIC_AUTOCAST", - "value": 80 + "name": "MODIFIER_PROPERTY_BASE_MRES_PER_INT_BONUS_PERCENTAGE", + "description": "Method Name: `GetModifierBonusLotusHeal`", + "value": 335 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY2_AUTOMATIC_AUTOCAST", - "value": 81 + "name": "MODIFIER_EVENT_ON_DAY_STARTED", + "description": "Method Name: `OnDayStarted`", + "value": 336 }, { - "name": "DOTA_KEYBIND_ABILITY_PRIMARY3_AUTOMATIC_AUTOCAST", - "value": 82 + "name": "MODIFIER_EVENT_ON_NIGHT_STARTED", + "description": "Method Name: `OnNightStarted`", + "value": 337 }, { - "name": "DOTA_KEYBIND_ABILITY_SECONDARY1_AUTOMATIC_AUTOCAST", - "value": 83 + "name": "MODIFIER_PROPERTY_CREATE_BONUS_ILLUSION_CHANCE", + "description": "Method Name: `GetModifierCreateBonusIllusionChance`", + "value": 338 }, { - "name": "DOTA_KEYBIND_ABILITY_SECONDARY2_AUTOMATIC_AUTOCAST", - "value": 84 + "name": "MODIFIER_PROPERTY_CREATE_BONUS_ILLUSION_COUNT", + "description": "Method Name: `GetModifierCreateBonusIllusionCount`", + "value": 339 }, { - "name": "DOTA_KEYBIND_ABILITY_ULTIMATE_AUTOMATIC_AUTOCAST", - "value": 85 + "name": "MODIFIER_PROPERTY_PSEUDORANDOM_BONUS", + "description": "Method Name: `GetModofierPropertyPseudoRandomBonus`", + "value": 340 }, { - "name": "DOTA_KEYBIND_INVENTORY1", - "value": 86 + "name": "MODIFIER_PROPERTY_ATTACK_HEIGHT_BONUS", + "description": "Method Name: `GetModifierAttackHeightBonus`", + "value": 341 }, { - "name": "DOTA_KEYBIND_INVENTORY2", - "value": 87 + "name": "MODIFIER_PROPERTY_SKIP_ATTACK_REGULATOR", + "description": "Method Name: `GetSkipAttackRegulator`", + "value": 342 }, { - "name": "DOTA_KEYBIND_INVENTORY3", - "value": 88 + "name": "MODIFIER_PROPERTY_MISS_PERCENTAGE_TARGET", + "description": "Method Name: `GetModifierMiss_Percentage_Target`", + "value": 343 }, { - "name": "DOTA_KEYBIND_INVENTORY4", - "value": 89 + "name": "MODIFIER_PROPERTY_ADDITIONAL_NEUTRAL_ITEM_DROPS", + "description": "Method Name: `GetModifierAdditionalNutralItemDrops`", + "value": 344 }, { - "name": "DOTA_KEYBIND_INVENTORY5", - "value": 90 + "name": "MODIFIER_PROPERTY_KILL_STREAK_BONUS_GOLD_PERCENTAGE", + "description": "Method Name: `GetModifierKillStreakBonusGoldPercentage`", + "value": 345 }, { - "name": "DOTA_KEYBIND_INVENTORY6", - "value": 91 + "name": "MODIFIER_PROPERTY_HP_REGEN_MULTIPLIER_PRE_AMPLIFICATION", + "description": "Method Name: `GetModifierHPRegenMultiplierPreAmplification`", + "value": 346 }, { - "name": "DOTA_KEYBIND_INVENTORYTP", - "value": 92 + "name": "MODIFIER_PROPERTY_HEROFACET_OVERRIDE", + "description": "Method Name: `GetModifierHeroFacetOverride`", + "value": 347 }, { - "name": "DOTA_KEYBIND_INVENTORYNEUTRAL", - "value": 93 + "name": "MODIFIER_EVENT_ON_TREE_CUT_DOWN", + "description": "Method Name: `OnTreeCutDown`", + "value": 348 }, { - "name": "DOTA_KEYBIND_INVENTORY1_QUICKCAST", - "value": 94 + "name": "MODIFIER_EVENT_ON_CLEAVE_ATTACK_LANDED", + "description": "Method Name: `OnCleaveAttackLanded`", + "value": 349 }, { - "name": "DOTA_KEYBIND_INVENTORY2_QUICKCAST", - "value": 95 + "name": "MODIFIER_PROPERTY_MIN_ATTRIBUTE_LEVEL", + "description": "Method Name: `MinAttributeLevel`", + "value": 350 }, { - "name": "DOTA_KEYBIND_INVENTORY3_QUICKCAST", - "value": 96 + "name": "MODIFIER_PROPERTY_TIER_TOKEN_REROLL", + "description": "Method Name: `GetTierTokenReroll`", + "value": 351 }, { - "name": "DOTA_KEYBIND_INVENTORY4_QUICKCAST", - "value": 97 + "name": "MODIFIER_PROPERTY_VISION_DEGREES_RESTRICTION", + "description": "Method Name: `GetVisionDegreeRestriction`", + "value": 352 }, { - "name": "DOTA_KEYBIND_INVENTORY5_QUICKCAST", - "value": 98 + "name": "MODIFIER_PROPERTY_TOTAL_CONSTANT_BLOCK_STACKING", + "description": "Method Name: `GetModifierTotal_ConstantBlockStacking`", + "value": 353 }, { - "name": "DOTA_KEYBIND_INVENTORY6_QUICKCAST", - "value": 99 + "name": "MODIFIER_PROPERTY_INVENTORY_SLOT_RESTRICTED", + "description": "Method Name: `GetModifierInventorySlotRestricted`", + "value": 354 }, { - "name": "DOTA_KEYBIND_INVENTORYTP_QUICKCAST", - "value": 100 + "name": "MODIFIER_EVENT_ON_TIER_TOKEN_REROLLED", + "description": "Method Name: `OnTierTokenRerolled`", + "value": 355 }, { - "name": "DOTA_KEYBIND_INVENTORYNEUTRAL_QUICKCAST", - "value": 101 + "name": "MODIFIER_PROPERTY_REDIRECT_SPELL", + "description": "Method Name: `GetRedirectSpell`", + "value": 356 }, { - "name": "DOTA_KEYBIND_INVENTORY1_AUTOCAST", - "value": 102 + "name": "MODIFIER_PROPERTY_BASEATTACK_POSTBONUS", + "description": "Method Name: `GetBaseAttackPostBonus`", + "value": 357 }, { - "name": "DOTA_KEYBIND_INVENTORY2_AUTOCAST", - "value": 103 + "name": "MODIFIER_EVENT_ON_FOW_TEAM_CHANGED", + "description": "Method Name: `OnFoWTeamChanged`", + "value": 358 }, { - "name": "DOTA_KEYBIND_INVENTORY3_AUTOCAST", - "value": 104 + "name": "MODIFIER_PROPERTY_SUPPRESS_ATTACK_PROCS", + "description": "Method Name: `GetSuppressAttackProcs`", + "value": 359 }, { - "name": "DOTA_KEYBIND_INVENTORY4_AUTOCAST", - "value": 105 + "name": "MODIFIER_EVENT_ON_ABILITY_TOGGLED", + "description": "Method Name: `OnAbilityToggled`", + "value": 360 }, { - "name": "DOTA_KEYBIND_INVENTORY5_AUTOCAST", - "value": 106 + "name": "MODIFIER_PROPERTY_AVOID_ATTACK_PROCS", + "description": "Method Name: `GetModifierAvoidAttackProcs`", + "value": 361 }, { - "name": "DOTA_KEYBIND_INVENTORY6_AUTOCAST", - "value": 107 + "name": "MODIFIER_EVENT_ON_RUNE_SPAWN", + "description": "Method Name: `OnRuneSpawn`", + "value": 362 }, { - "name": "DOTA_KEYBIND_INVENTORYTP_AUTOCAST", - "value": 108 + "name": "MODIFIER_PROPERTY_PHYSICAL_LIFESTEAL", + "description": "Method Name: `GetModifierProperty_PhysicalLifesteal`", + "value": 363 }, { - "name": "DOTA_KEYBIND_INVENTORYNEUTRAL_AUTOCAST", - "value": 109 + "name": "MODIFIER_PROPERTY_MAGICAL_LIFESTEAL", + "description": "Method Name: `GetModifierProperty_MagicalLifesteal`", + "value": 364 }, { - "name": "DOTA_KEYBIND_INVENTORY1_QUICKAUTOCAST", - "value": 110 + "name": "MODIFIER_EVENT_ON_PURE_DAMAGE_CALCULATED", + "description": "Method Name: `OnPureDamageCalculated`", + "value": 365 }, { - "name": "DOTA_KEYBIND_INVENTORY2_QUICKAUTOCAST", - "value": 111 + "name": "MODIFIER_EVENT_NEUTRAL_TRINKET_OPTIONS", + "description": "Method Name: `GetModifierNeutralTrinketOptions`", + "value": 366 }, { - "name": "DOTA_KEYBIND_INVENTORY3_QUICKAUTOCAST", - "value": 112 + "name": "MODIFIER_EVENT_NEUTRAL_ENHANCEMENT_OPTIONS", + "description": "Method Name: `GetModifierNeutralEnhancementOptions`", + "value": 367 }, { - "name": "DOTA_KEYBIND_INVENTORY4_QUICKAUTOCAST", - "value": 113 + "name": "MODIFIER_PROPERTY_MOVESPEED_MAX_BONUS_CONSTANT", + "description": "Method Name: `GetModifierMoveSpeedMax_BonusConstant`", + "value": 368 }, { - "name": "DOTA_KEYBIND_INVENTORY5_QUICKAUTOCAST", - "value": 114 + "name": "MODIFIER_PROPERTY_MOVESPEED_POST_MULTIPLIER_BONUS_CONSTANT", + "description": "Method Name: `GetModifierMoveSpeedPostMultiplierBonus_Constant `", + "value": 369 }, { - "name": "DOTA_KEYBIND_INVENTORY6_QUICKAUTOCAST", - "value": 115 + "name": "MODIFIER_FUNCTION_LAST", + "value": 370 }, { - "name": "DOTA_KEYBIND_INVENTORYTP_QUICKAUTOCAST", - "value": 116 - }, + "name": "MODIFIER_FUNCTION_INVALID", + "value": 65535 + } + ] + }, + { + "kind": "enum", + "name": "modifierstate", + "available": "both", + "members": [ { - "name": "DOTA_KEYBIND_INVENTORYNEUTRAL_QUICKAUTOCAST", - "value": 117 + "name": "MODIFIER_STATE_ROOTED", + "value": 0 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUP1", - "value": 118 + "name": "MODIFIER_STATE_DISARMED", + "value": 1 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUP2", - "value": 119 + "name": "MODIFIER_STATE_ATTACK_IMMUNE", + "value": 2 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUP3", - "value": 120 + "name": "MODIFIER_STATE_SILENCED", + "value": 3 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUP4", - "value": 121 + "name": "MODIFIER_STATE_MUTED", + "value": 4 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUP5", - "value": 122 + "name": "MODIFIER_STATE_STUNNED", + "value": 5 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUP6", - "value": 123 + "name": "MODIFIER_STATE_HEXED", + "value": 6 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUP7", - "value": 124 + "name": "MODIFIER_STATE_INVISIBLE", + "value": 7 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUP8", - "value": 125 + "name": "MODIFIER_STATE_INVULNERABLE", + "value": 8 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUP9", - "value": 126 + "name": "MODIFIER_STATE_MAGIC_IMMUNE", + "value": 9 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUP10", - "value": 127 + "name": "MODIFIER_STATE_PROVIDES_VISION", + "value": 10 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUPCYCLE", - "value": 128 + "name": "MODIFIER_STATE_NIGHTMARED", + "value": 11 }, { - "name": "DOTA_KEYBIND_SELECT_ALLY1", - "value": 129 + "name": "MODIFIER_STATE_BLOCK_DISABLED", + "value": 12 }, { - "name": "DOTA_KEYBIND_SELECT_ALLY2", - "value": 130 + "name": "MODIFIER_STATE_EVADE_DISABLED", + "value": 13 }, { - "name": "DOTA_KEYBIND_SELECT_ALLY3", - "value": 131 + "name": "MODIFIER_STATE_UNSELECTABLE", + "value": 14 }, { - "name": "DOTA_KEYBIND_SELECT_ALLY4", - "value": 132 + "name": "MODIFIER_STATE_CANNOT_TARGET_ENEMIES", + "value": 15 }, { - "name": "DOTA_KEYBIND_SELECT_ALLY5", - "value": 133 + "name": "MODIFIER_STATE_CANNOT_TARGET_BUILDINGS", + "value": 16 }, { - "name": "DOTA_KEYBIND_SHOP_TOGGLE", - "value": 134 + "name": "MODIFIER_STATE_CANNOT_MISS", + "value": 17 }, { - "name": "DOTA_KEYBIND_SCOREBOARD_TOGGLE", - "value": 135 + "name": "MODIFIER_STATE_SPECIALLY_DENIABLE", + "value": 18 }, { - "name": "DOTA_KEYBIND_COMBATLOG_TOGGLE", - "value": 136 + "name": "MODIFIER_STATE_FROZEN", + "value": 19 }, { - "name": "DOTA_KEYBIND_SCREENSHOT", - "value": 137 + "name": "MODIFIER_STATE_COMMAND_RESTRICTED", + "value": 20 }, { - "name": "DOTA_KEYBIND_ESCAPE", - "value": 138 + "name": "MODIFIER_STATE_NOT_ON_MINIMAP", + "value": 21 }, { - "name": "DOTA_KEYBIND_CONSOLE", - "value": 139 + "name": "MODIFIER_STATE_LOW_ATTACK_PRIORITY", + "value": 22 }, { - "name": "DOTA_KEYBIND_DEATH_SUMMARY", - "value": 140 + "name": "MODIFIER_STATE_NO_HEALTH_BAR", + "value": 23 }, { - "name": "DOTA_KEYBIND_LEARN_ABILITIES", - "value": 141 + "name": "MODIFIER_STATE_NO_HEALTH_BAR_FOR_ENEMIES", + "value": 24 }, { - "name": "DOTA_KEYBIND_LEARN_STATS", - "value": 142 + "name": "MODIFIER_STATE_NO_HEALTH_BAR_FOR_OTHER_PLAYERS", + "value": 25 }, { - "name": "DOTA_KEYBIND_ACTIVATE_GLYPH", - "value": 143 + "name": "MODIFIER_STATE_FLYING", + "value": 26 }, { - "name": "DOTA_KEYBIND_ACTIVATE_RADAR", - "value": 144 + "name": "MODIFIER_STATE_NO_UNIT_COLLISION", + "value": 27 }, { - "name": "DOTA_KEYBIND_PURCHASE_QUICKBUY", - "value": 145 + "name": "MODIFIER_STATE_NO_TEAM_MOVE_TO", + "value": 28 }, { - "name": "DOTA_KEYBIND_PURCHASE_STICKY", - "value": 146 + "name": "MODIFIER_STATE_NO_TEAM_SELECT", + "value": 29 }, { - "name": "DOTA_KEYBIND_GRAB_STASH_ITEMS", - "value": 147 + "name": "MODIFIER_STATE_PASSIVES_DISABLED", + "value": 30 }, { - "name": "DOTA_KEYBIND_TOGGLE_AUTOATTACK", - "value": 148 + "name": "MODIFIER_STATE_DOMINATED", + "value": 31 }, { - "name": "DOTA_KEYBIND_TOGGLE_OVERLAYMAP", - "value": 149 + "name": "MODIFIER_STATE_BLIND", + "value": 32 }, { - "name": "DOTA_KEYBIND_OVERLAYMAP_INPUTKEY", - "value": 150 + "name": "MODIFIER_STATE_OUT_OF_GAME", + "value": 33 }, { - "name": "DOTA_KEYBIND_FILTER_ENEMY", - "value": 151 + "name": "MODIFIER_STATE_FAKE_ALLY", + "value": 34 }, { - "name": "DOTA_KEYBIND_FILTER_ALLY", - "value": 152 + "name": "MODIFIER_STATE_FLYING_FOR_PATHING_PURPOSES_ONLY", + "value": 35 }, { - "name": "DOTA_KEYBIND_FILTER_HERO", - "value": 153 + "name": "MODIFIER_STATE_TRUESIGHT_IMMUNE", + "value": 36 }, { - "name": "DOTA_KEYBIND_FILTER_NONHERO", - "value": 154 + "name": "MODIFIER_STATE_UNTARGETABLE", + "value": 37 }, { - "name": "DOTA_KEYBIND_TAUNT", - "value": 155 + "name": "MODIFIER_STATE_UNTARGETABLE_ALLIED", + "value": 38 }, { - "name": "DOTA_KEYBIND_SHOP_CONSUMABLES", - "value": 156 + "name": "MODIFIER_STATE_UNTARGETABLE_ENEMY", + "value": 39 }, { - "name": "DOTA_KEYBIND_SHOP_ATTRIBUTES", - "value": 157 + "name": "MODIFIER_STATE_UNTARGETABLE_SELF", + "value": 40 }, { - "name": "DOTA_KEYBIND_SHOP_ARMAMENTS", - "value": 158 + "name": "MODIFIER_STATE_IGNORING_MOVE_AND_ATTACK_ORDERS", + "value": 41 }, { - "name": "DOTA_KEYBIND_SHOP_ARCANE", - "value": 159 + "name": "MODIFIER_STATE_ALLOW_PATHING_THROUGH_TREES", + "value": 42 }, { - "name": "DOTA_KEYBIND_SHOP_BASICS", - "value": 160 + "name": "MODIFIER_STATE_NOT_ON_MINIMAP_FOR_ENEMIES", + "value": 43 }, { - "name": "DOTA_KEYBIND_SHOP_SUPPORT", - "value": 161 + "name": "MODIFIER_STATE_UNSLOWABLE", + "value": 44 }, { - "name": "DOTA_KEYBIND_SHOP_CASTER", - "value": 162 + "name": "MODIFIER_STATE_TETHERED", + "value": 45 }, { - "name": "DOTA_KEYBIND_SHOP_WEAPONS", - "value": 163 + "name": "MODIFIER_STATE_IGNORING_STOP_ORDERS", + "value": 46 }, { - "name": "DOTA_KEYBIND_SHOP_ARMOR", - "value": 164 + "name": "MODIFIER_STATE_FEARED", + "value": 47 }, { - "name": "DOTA_KEYBIND_SHOP_ARTIFACTS", - "value": 165 + "name": "MODIFIER_STATE_TAUNTED", + "value": 48 }, { - "name": "DOTA_KEYBIND_SHOP_SIDE_PAGE_1", - "value": 166 + "name": "MODIFIER_STATE_CANNOT_BE_MOTION_CONTROLLED", + "value": 49 }, { - "name": "DOTA_KEYBIND_SHOP_SIDE_PAGE_2", - "value": 167 + "name": "MODIFIER_STATE_FORCED_FLYING_VISION", + "value": 50 }, { - "name": "DOTA_KEYBIND_SHOP_SECRET", - "value": 168 + "name": "MODIFIER_STATE_ATTACK_ALLIES", + "value": 51 }, { - "name": "DOTA_KEYBIND_SHOP_SEARCHBOX", - "value": 169 + "name": "MODIFIER_STATE_ALLOW_PATHING_THROUGH_CLIFFS", + "value": 52 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_1", - "value": 170 + "name": "MODIFIER_STATE_ALLOW_PATHING_THROUGH_FISSURE", + "value": 53 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_2", - "value": 171 + "name": "MODIFIER_STATE_SPECIALLY_UNDENIABLE", + "value": 54 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_3", - "value": 172 + "name": "MODIFIER_STATE_ALLOW_PATHING_THROUGH_OBSTRUCTIONS", + "value": 55 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_4", - "value": 173 + "name": "MODIFIER_STATE_DEBUFF_IMMUNE", + "value": 56 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_5", - "value": 174 + "name": "MODIFIER_STATE_ALLOW_PATHING_THROUGH_BASE_BLOCKER", + "value": 57 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_6", - "value": 175 + "name": "MODIFIER_STATE_IGNORING_MOVE_ORDERS", + "value": 58 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_7", - "value": 176 + "name": "MODIFIER_STATE_ATTACKS_ARE_MELEE", + "value": 59 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_8", - "value": 177 + "name": "MODIFIER_STATE_CAN_USE_BACKPACK_ITEMS", + "value": 60 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_9", - "value": 178 + "name": "MODIFIER_STATE_CASTS_IGNORE_CHANNELING", + "value": 61 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_10", - "value": 179 + "name": "MODIFIER_STATE_ATTACKS_DONT_REVEAL", + "value": 62 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_11", - "value": 180 + "name": "MODIFIER_STATE_NEUTRALS_DONT_ATTACK", + "value": 63 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_12", - "value": 181 - }, + "name": "MODIFIER_STATE_LAST", + "value": 64 + } + ] + }, + { + "kind": "enum", + "name": "OrderQueueBehavior_t", + "available": "both", + "members": [ { - "name": "DOTA_KEYBIND_SHOP_SLOT_13", - "value": 182 + "name": "DOTA_ORDER_QUEUE_DEFAULT", + "value": 0 }, { - "name": "DOTA_KEYBIND_SHOP_SLOT_14", - "value": 183 + "name": "DOTA_ORDER_QUEUE_NEVER", + "value": 1 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_UP", - "value": 184 + "name": "DOTA_ORDER_QUEUE_ALWAYS", + "value": 2 + } + ] + }, + { + "kind": "enum", + "name": "ParticleAttachment_t", + "available": "both", + "members": [ + { + "name": "PATTACH_INVALID", + "value": -1 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_DOWN", - "value": 185 + "name": "PATTACH_ABSORIGIN", + "value": 0 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_LEFT", - "value": 186 + "name": "PATTACH_ABSORIGIN_FOLLOW", + "value": 1 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_RIGHT", - "value": 187 + "name": "PATTACH_CUSTOMORIGIN", + "value": 2 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_GRIP", - "value": 188 + "name": "PATTACH_CUSTOMORIGIN_FOLLOW", + "value": 3 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_1", - "value": 189 + "name": "PATTACH_POINT", + "value": 4 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_2", - "value": 190 + "name": "PATTACH_POINT_FOLLOW", + "value": 5 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_3", - "value": 191 + "name": "PATTACH_EYES_FOLLOW", + "value": 6 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_4", - "value": 192 + "name": "PATTACH_OVERHEAD_FOLLOW", + "value": 7 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_5", - "value": 193 + "name": "PATTACH_WORLDORIGIN", + "value": 8 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_6", - "value": 194 + "name": "PATTACH_ROOTBONE_FOLLOW", + "value": 9 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_7", - "value": 195 + "name": "PATTACH_RENDERORIGIN_FOLLOW", + "value": 10 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_8", - "value": 196 + "name": "PATTACH_MAIN_VIEW", + "value": 11 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_9", - "value": 197 + "name": "PATTACH_WATERWAKE", + "value": 12 }, { - "name": "DOTA_KEYBIND_SPEC_CAMERA_SAVED_POSITION_10", - "value": 198 + "name": "PATTACH_CENTER_FOLLOW", + "value": 13 }, { - "name": "DOTA_KEYBIND_SPEC_UNIT_SELECT", - "value": 199 + "name": "PATTACH_CUSTOM_GAME_STATE_1", + "value": 14 }, { - "name": "DOTA_KEYBIND_SPEC_HERO_SELECT", - "value": 200 + "name": "PATTACH_HEALTHBAR", + "value": 15 }, { - "name": "DOTA_KEYBIND_SPEC_PAUSE", - "value": 201 - }, + "name": "MAX_PATTACH_TYPES", + "value": 16 + } + ] + }, + { + "kind": "enum", + "name": "PlayerOrderIssuer_t", + "available": "both", + "members": [ { - "name": "DOTA_KEYBIND_SPEC_CHAT", - "value": 202 + "name": "DOTA_ORDER_ISSUER_SELECTED_UNITS", + "value": 0 }, { - "name": "DOTA_KEYBIND_SPEC_SCOREBOARD", - "value": 203 + "name": "DOTA_ORDER_ISSUER_CURRENT_UNIT_ONLY", + "value": 1 }, { - "name": "DOTA_KEYBIND_SPEC_INCREASE_REPLAY_SPEED", - "value": 204 + "name": "DOTA_ORDER_ISSUER_HERO_ONLY", + "value": 2 }, { - "name": "DOTA_KEYBIND_SPEC_DECREASE_REPLAY_SPEED", - "value": 205 + "name": "DOTA_ORDER_ISSUER_PASSED_UNIT_ONLY", + "value": 3 + } + ] + }, + { + "kind": "enum", + "name": "PlayerUltimateStateOrTime_t", + "available": "both", + "members": [ + { + "name": "PLAYER_ULTIMATE_STATE_READY", + "value": 0 }, { - "name": "DOTA_KEYBIND_SPEC_STATS_ITEM", - "value": 206 + "name": "PLAYER_ULTIMATE_STATE_NO_MANA", + "value": -1 }, { - "name": "DOTA_KEYBIND_SPEC_STATS_GOLD", - "value": 207 + "name": "PLAYER_ULTIMATE_STATE_NOT_LEVELED", + "value": -2 }, { - "name": "DOTA_KEYBIND_SPEC_STATS_XP", - "value": 208 + "name": "PLAYER_ULTIMATE_STATE_HIDDEN", + "value": -3 + } + ] + }, + { + "kind": "enum", + "name": "SPELL_IMMUNITY_TYPES", + "available": "both", + "members": [ + { + "name": "SPELL_IMMUNITY_NONE", + "value": 0 }, { - "name": "DOTA_KEYBIND_SPEC_STATS_FANTASY", - "value": 209 + "name": "SPELL_IMMUNITY_ALLIES_YES", + "value": 1 }, { - "name": "DOTA_KEYBIND_SPEC_STATS_WINCHANCE", - "value": 210 + "name": "SPELL_IMMUNITY_ALLIES_NO", + "value": 2 }, { - "name": "DOTA_KEYBIND_SPEC_FOW_TOGGLEBOTH", - "value": 211 + "name": "SPELL_IMMUNITY_ENEMIES_YES", + "value": 3 }, { - "name": "DOTA_KEYBIND_SPEC_FOW_TOGGLERADIENT", - "value": 212 + "name": "SPELL_IMMUNITY_ENEMIES_NO", + "value": 4 }, { - "name": "DOTA_KEYBIND_SPEC_FOW_TOGGLEDIRE", - "value": 213 + "name": "SPELL_IMMUNITY_ALLIES_YES_ENEMIES_NO", + "value": 5 + } + ] + }, + { + "kind": "enum", + "name": "SteamUGCMatchingUGCType", + "available": "both", + "members": [ + { + "name": "Items", + "value": 0 }, { - "name": "DOTA_KEYBIND_SPEC_OPEN_BROADCASTER_MENU", - "value": 214 + "name": "Items_Mtx", + "value": 1 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_KDA", - "value": 215 + "name": "Items_ReadyToUse", + "value": 2 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_LASTHITS_DENIES", - "value": 216 + "name": "Collections", + "value": 3 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_LEVEL", - "value": 217 + "name": "Artwork", + "value": 4 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_XP_PER_MIN", - "value": 218 + "name": "Videos", + "value": 5 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_GOLD", - "value": 219 + "name": "Screenshots", + "value": 6 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_TOTALGOLD", - "value": 220 + "name": "AllGuides", + "value": 7 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_GOLD_PER_MIN", - "value": 221 + "name": "WebGuides", + "value": 8 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_BUYBACK", - "value": 222 + "name": "IntegratedGuides", + "value": 9 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_NETWORTH", - "value": 223 + "name": "UsableInGame", + "value": 10 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_FANTASY", - "value": 224 + "name": "ControllerBindings", + "value": 11 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_SORT", - "value": 225 + "name": "GameManagedItems", + "value": 12 }, { - "name": "DOTA_KEYBIND_SPEC_DROPDOWN_CLOSE", - "value": 226 + "name": "All", + "value": -1 + } + ] + }, + { + "kind": "enum", + "name": "SteamUGCQuery", + "available": "both", + "members": [ + { + "name": "RankedByVote", + "value": 0 }, { - "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_1", - "value": 227 + "name": "RankedByPublicationDate", + "value": 1 }, { - "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_2", - "value": 228 + "name": "AcceptedForGameRankedByAcceptanceDate", + "value": 2 }, { - "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_3", - "value": 229 + "name": "RankedByTrend", + "value": 3 }, { - "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_4", - "value": 230 + "name": "FavoritedByFriendsRankedByPublicationDate", + "value": 4 }, { - "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_5", - "value": 231 + "name": "CreatedByFriendsRankedByPublicationDate", + "value": 5 }, { - "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_6", - "value": 232 + "name": "RankedByNumTimesReported", + "value": 6 }, { - "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_7", - "value": 233 + "name": "CreatedByFollowedUsersRankedByPublicationDate", + "value": 7 }, { - "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_8", - "value": 234 + "name": "NotYetRated", + "value": 8 }, { - "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_9", - "value": 235 + "name": "RankedByTotalVotesAsc", + "value": 9 }, { - "name": "DOTA_KEYBIND_SPEC_FOCUS_PLAYER_10", - "value": 236 + "name": "RankedByVotesUp", + "value": 10 }, { - "name": "DOTA_KEYBIND_SPEC_COACH_VIEWTOGGLE", - "value": 237 + "name": "RankedByTextSearch", + "value": 11 }, { - "name": "DOTA_KEYBIND_INSPECTHEROINWORLD", - "value": 238 + "name": "RankedByTotalUniqueSubscriptions", + "value": 12 }, { - "name": "DOTA_KEYBIND_CAMERA_ZOOM_IN", - "value": 239 + "name": "RankedByPlaytimeTrend", + "value": 13 }, { - "name": "DOTA_KEYBIND_CAMERA_ZOOM_OUT", - "value": 240 + "name": "RankedByTotalPlaytime", + "value": 14 }, { - "name": "DOTA_KEYBIND_CONTROL_GROUPCYCLEPREV", - "value": 241 + "name": "RankedByAveragePlaytimeTrend", + "value": 15 }, { - "name": "DOTA_KEYBIND_DOTA_ALT", - "value": 242 + "name": "RankedByLifetimeAveragePlaytime", + "value": 16 }, { - "name": "DOTA_KEYBIND_DOTA_ALTERNATIVE_CAST_SWITCH", - "value": 243 + "name": "RankedByPlaytimeSessionsTrend", + "value": 17 }, { - "name": "DOTA_KEYBIND_COUNT", - "value": 244 + "name": "RankedByLifetimePlaytimeSessions", + "value": 18 } ] }, { - "name": "DOTA_SHOP_TYPE", + "kind": "enum", + "name": "SteamUniverse", + "available": "both", "members": [ { - "name": "DOTA_SHOP_HOME", + "name": "Invalid", "value": 0 }, { - "name": "DOTA_SHOP_SIDE", - "value": 1 - }, - { - "name": "DOTA_SHOP_SECRET", - "value": 2 - }, - { - "name": "DOTA_SHOP_GROUND", + "name": "Internal", "value": 3 }, { - "name": "DOTA_SHOP_SIDE2", + "name": "Dev", "value": 4 }, { - "name": "DOTA_SHOP_SECRET2", - "value": 5 - }, - { - "name": "DOTA_SHOP_CUSTOM", - "value": 6 - }, - { - "name": "DOTA_SHOP_NEUTRALS", - "value": 7 + "name": "Beta", + "value": 2 }, { - "name": "DOTA_SHOP_NONE", - "value": 8 + "name": "Public", + "value": 1 } ] } diff --git a/files/vscripts/enums.json b/files/vscripts/enums.json index 622b941..3951ddc 100644 --- a/files/vscripts/enums.json +++ b/files/vscripts/enums.json @@ -9079,43 +9079,43 @@ "value": 1787 }, { - "name": "ACT_DOTA_RUN_ALT", - "value": 1788 + "name": "ACT_DOTA_VOODOO_REST", + "value": 1791 }, { - "name": "ACT_DOTA_RADIANT_CREEP_HAMMER", - "value": 1793 + "name": "ACT_DOTA_CYCLONE", + "value": 1792 }, { - "name": "ACT_DOTA_RELAX_IN", - "value": 1794 + "name": "ACT_DOTA_IMPALE", + "value": 1793 }, { - "name": "ACT_DOTA_RELAX_OUT", - "value": 1795 + "name": "ACT_DOTA_TORRENT", + "value": 1794 }, { - "name": "ACT_DOTA_CAST_FENCE", + "name": "ACT_DOTA_RADIANT_CREEP_HAMMER", "value": 1796 }, { - "name": "ACT_DOTA_SPWN", + "name": "ACT_DOTA_RELAX_IN", "value": 1797 }, { - "name": "ACT_DOTA_CYCLONE", + "name": "ACT_DOTA_RELAX_OUT", "value": 1798 }, { - "name": "ACT_DOTA_IMPALE", + "name": "ACT_DOTA_CAST_FENCE", "value": 1799 }, { - "name": "ACT_DOTA_TORRENT", + "name": "ACT_DOTA_SPWN", "value": 1800 }, { - "name": "ACT_DOTA_VOODOO_REST", + "name": "ACT_DOTA_RUN_ALT", "value": 1801 } ] diff --git a/package.json b/package.json index 2508acb..4ae555c 100644 --- a/package.json +++ b/package.json @@ -77,5 +77,8 @@ }, "engines": { "node": ">=12.13.0" + }, + "volta": { + "node": "18.18.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..23f278f --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,6067 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + fs-extra: + specifier: ^9.0.1 + version: 9.1.0 + got: + specifier: ^11.6.0 + version: 11.8.6 + lodash: + specifier: ^4.17.20 + version: 4.17.21 + tslib: + specifier: ^2.0.1 + version: 2.8.1 + vdf-extra: + specifier: ^2.2.2 + version: 2.2.2 + +devDependencies: + '@ark120202/typescript-config': + specifier: ^2.2.0 + version: 2.2.0 + '@moddota/find-steam-app': + specifier: ^1.1.0 + version: 1.1.0 + '@types/dedent': + specifier: ^0.7.0 + version: 0.7.2 + '@types/fs-extra': + specifier: ^9.0.1 + version: 9.0.13 + '@types/jest': + specifier: ^26.0.24 + version: 26.0.24 + '@types/lodash': + specifier: ^4.14.161 + version: 4.17.16 + '@types/node': + specifier: ^22.13.4 + version: 22.14.1 + '@types/prettier': + specifier: 2.2.3 + version: 2.2.3 + '@typescript-eslint/eslint-plugin': + specifier: ^5.54.1 + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/parser': + specifier: ^5.54.1 + version: 5.62.0(eslint@7.32.0)(typescript@4.9.5) + dedent: + specifier: ^0.7.0 + version: 0.7.0 + eslint: + specifier: ^7.32.0 + version: 7.32.0 + jest: + specifier: ^26.4.2 + version: 26.6.3(ts-node@9.1.1) + nodemon: + specifier: ^2.0.4 + version: 2.0.22 + npm-run-all: + specifier: ^4.1.5 + version: 4.1.5 + prettier: + specifier: 2.3.0 + version: 2.3.0 + rimraf: + specifier: ^3.0.2 + version: 3.0.2 + ts-jest: + specifier: ^26.5.6 + version: 26.5.6(jest@26.6.3)(typescript@4.9.5) + ts-node: + specifier: ^9.0.0 + version: 9.1.1(typescript@4.9.5) + tsx: + specifier: ^3.12.4 + version: 3.14.0 + typescript: + specifier: ^4.9.5 + version: 4.9.5 + valve-kv: + specifier: ^1.2.1 + version: 1.2.1 + vpk: + specifier: ^0.2.0 + version: 0.2.0 + +packages: + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@ark120202/typescript-config@2.2.0: + resolution: {integrity: sha512-zSZ+NSTBMZiM6ePMMRAmnlehm2y2WE0hIUlf6VcvMHzY5cMnTxvyCbu12eZtsu0L3HM+lF6iA/t+q8cndwFdEQ==} + dev: true + + /@babel/code-frame@7.12.11: + resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} + dependencies: + '@babel/highlight': 7.25.9 + dev: true + + /@babel/code-frame@7.26.2: + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + dev: true + + /@babel/compat-data@7.26.8: + resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.26.10: + resolution: {integrity: sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.27.0 + '@babel/helper-compilation-targets': 7.27.0 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.10) + '@babel/helpers': 7.27.0 + '@babel/parser': 7.27.0 + '@babel/template': 7.27.0 + '@babel/traverse': 7.27.0 + '@babel/types': 7.27.0 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.27.0: + resolution: {integrity: sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/parser': 7.27.0 + '@babel/types': 7.27.0 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + dev: true + + /@babel/helper-compilation-targets@7.27.0: + resolution: {integrity: sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.26.8 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-module-imports@7.25.9: + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.27.0 + '@babel/types': 7.27.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.10): + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.27.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-plugin-utils@7.26.5: + resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-string-parser@7.25.9: + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.25.9: + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.25.9: + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers@7.27.0: + resolution: {integrity: sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.27.0 + '@babel/types': 7.27.0 + dev: true + + /@babel/highlight@7.25.9: + resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.1.1 + dev: true + + /@babel/parser@7.27.0: + resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.27.0 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.10): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.10): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.10): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.10): + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.10): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.10): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.10): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.10): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.10): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.10): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.26.10 + '@babel/helper-plugin-utils': 7.26.5 + dev: true + + /@babel/template@7.27.0: + resolution: {integrity: sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.27.0 + '@babel/types': 7.27.0 + dev: true + + /@babel/traverse@7.27.0: + resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.27.0 + '@babel/parser': 7.27.0 + '@babel/template': 7.27.0 + '@babel/types': 7.27.0 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.27.0: + resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@cnakazawa/watch@1.0.4: + resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} + engines: {node: '>=0.1.95'} + hasBin: true + dependencies: + exec-sh: 0.3.6 + minimist: 1.2.8 + dev: true + + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.6.1(eslint@7.32.0): + resolution: {integrity: sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 7.32.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.12.1: + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@0.4.3: + resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.4.0 + espree: 7.3.1 + globals: 13.24.0 + ignore: 4.0.6 + import-fresh: 3.3.1 + js-yaml: 3.14.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/config-array@0.5.0: + resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.4.0 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/object-schema@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console@26.6.2: + resolution: {integrity: sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + '@types/node': 22.14.1 + chalk: 4.1.2 + jest-message-util: 26.6.2 + jest-util: 26.6.2 + slash: 3.0.0 + dev: true + + /@jest/core@26.6.3(ts-node@9.1.1): + resolution: {integrity: sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/console': 26.6.2 + '@jest/reporters': 26.6.2 + '@jest/test-result': 26.6.2 + '@jest/transform': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.14.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 26.6.2 + jest-config: 26.6.3(ts-node@9.1.1) + jest-haste-map: 26.6.2 + jest-message-util: 26.6.2 + jest-regex-util: 26.0.0 + jest-resolve: 26.6.2 + jest-resolve-dependencies: 26.6.3 + jest-runner: 26.6.3(ts-node@9.1.1) + jest-runtime: 26.6.3(ts-node@9.1.1) + jest-snapshot: 26.6.2 + jest-util: 26.6.2 + jest-validate: 26.6.2 + jest-watcher: 26.6.2 + micromatch: 4.0.8 + p-each-series: 2.2.0 + rimraf: 3.0.2 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /@jest/environment@26.6.2: + resolution: {integrity: sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/fake-timers': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.14.1 + jest-mock: 26.6.2 + dev: true + + /@jest/fake-timers@26.6.2: + resolution: {integrity: sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + '@sinonjs/fake-timers': 6.0.1 + '@types/node': 22.14.1 + jest-message-util: 26.6.2 + jest-mock: 26.6.2 + jest-util: 26.6.2 + dev: true + + /@jest/globals@26.6.2: + resolution: {integrity: sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/environment': 26.6.2 + '@jest/types': 26.6.2 + expect: 26.6.2 + dev: true + + /@jest/reporters@26.6.2: + resolution: {integrity: sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==} + engines: {node: '>= 10.14.2'} + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 26.6.2 + '@jest/test-result': 26.6.2 + '@jest/transform': 26.6.2 + '@jest/types': 26.6.2 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 4.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + jest-haste-map: 26.6.2 + jest-resolve: 26.6.2 + jest-util: 26.6.2 + jest-worker: 26.6.2 + slash: 3.0.0 + source-map: 0.6.1 + string-length: 4.0.2 + terminal-link: 2.1.1 + v8-to-istanbul: 7.1.2 + optionalDependencies: + node-notifier: 8.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/source-map@26.6.2: + resolution: {integrity: sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==} + engines: {node: '>= 10.14.2'} + dependencies: + callsites: 3.1.0 + graceful-fs: 4.2.11 + source-map: 0.6.1 + dev: true + + /@jest/test-result@26.6.2: + resolution: {integrity: sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/console': 26.6.2 + '@jest/types': 26.6.2 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + dev: true + + /@jest/test-sequencer@26.6.3(ts-node@9.1.1): + resolution: {integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/test-result': 26.6.2 + graceful-fs: 4.2.11 + jest-haste-map: 26.6.2 + jest-runner: 26.6.3(ts-node@9.1.1) + jest-runtime: 26.6.3(ts-node@9.1.1) + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /@jest/transform@26.6.2: + resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} + engines: {node: '>= 10.14.2'} + dependencies: + '@babel/core': 7.26.10 + '@jest/types': 26.6.2 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 1.9.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 26.6.2 + jest-regex-util: 26.0.0 + jest-util: 26.6.2 + micromatch: 4.0.8 + pirates: 4.0.7 + slash: 3.0.0 + source-map: 0.6.1 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types@26.6.2: + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.14.1 + '@types/yargs': 15.0.19 + chalk: 4.1.2 + dev: true + + /@jridgewell/gen-mapping@0.3.8: + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.5.0: + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + dev: true + + /@moddota/find-steam-app@1.1.0: + resolution: {integrity: sha512-bmh6r3OAI9ic7VQxP45BMdzIaUt8tgQ4Ykafi1iXCM/zFpCrkTiCxylSRLfeJ4ugTB0oz0iX/JyD08j/c6F3Qg==} + dependencies: + execa: 1.0.0 + fs-extra: 7.0.1 + p-filter: 2.1.0 + tslib: 1.14.1 + vdf-extra: 2.2.2 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + dev: true + + /@sindresorhus/is@4.6.0: + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + dev: false + + /@sinonjs/commons@1.8.6: + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers@6.0.1: + resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} + dependencies: + '@sinonjs/commons': 1.8.6 + dev: true + + /@szmarczak/http-timer@4.0.6: + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + dependencies: + defer-to-connect: 2.0.1 + dev: false + + /@tootallnate/once@1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: true + + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.27.0 + '@babel/types': 7.27.0 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.7 + dev: true + + /@types/babel__generator@7.27.0: + resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} + dependencies: + '@babel/types': 7.27.0 + dev: true + + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + dependencies: + '@babel/parser': 7.27.0 + '@babel/types': 7.27.0 + dev: true + + /@types/babel__traverse@7.20.7: + resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==} + dependencies: + '@babel/types': 7.27.0 + dev: true + + /@types/cacheable-request@6.0.3: + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + dependencies: + '@types/http-cache-semantics': 4.0.4 + '@types/keyv': 3.1.4 + '@types/node': 22.14.1 + '@types/responselike': 1.0.3 + dev: false + + /@types/dedent@0.7.2: + resolution: {integrity: sha512-kRiitIeUg1mPV9yH4VUJ/1uk2XjyANfeL8/7rH1tsjvHeO9PJLBHJIYsFWmAvmGj5u8rj+1TZx7PZzW2qLw3Lw==} + dev: true + + /@types/fs-extra@9.0.13: + resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + dependencies: + '@types/node': 22.14.1 + dev: true + + /@types/graceful-fs@4.1.9: + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + dependencies: + '@types/node': 22.14.1 + dev: true + + /@types/http-cache-semantics@4.0.4: + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + dev: false + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + dev: true + + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + dependencies: + '@types/istanbul-lib-report': 3.0.3 + dev: true + + /@types/jest@26.0.24: + resolution: {integrity: sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==} + dependencies: + jest-diff: 26.6.2 + pretty-format: 26.6.2 + dev: true + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + + /@types/keyv@3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 22.14.1 + dev: false + + /@types/lodash@4.17.16: + resolution: {integrity: sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==} + dev: true + + /@types/node@14.18.63: + resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==} + dev: true + + /@types/node@22.14.1: + resolution: {integrity: sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==} + dependencies: + undici-types: 6.21.0 + + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true + + /@types/prettier@2.2.3: + resolution: {integrity: sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA==} + dev: true + + /@types/responselike@1.0.3: + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + dependencies: + '@types/node': 22.14.1 + dev: false + + /@types/semver@7.7.0: + resolution: {integrity: sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==} + dev: true + + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true + + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + dev: true + + /@types/yargs@15.0.19: + resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + dependencies: + '@types/yargs-parser': 21.0.3 + dev: true + + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 5.62.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@4.9.5) + debug: 4.4.0 + eslint: 7.32.0 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare-lite: 1.4.0 + semver: 7.7.1 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.62.0(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + debug: 4.4.0 + eslint: 7.32.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + + /@typescript-eslint/type-utils@5.62.0(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/utils': 5.62.0(eslint@7.32.0)(typescript@4.9.5) + debug: 4.4.0 + eslint: 7.32.0 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.4.0 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.7.1 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.62.0(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.6.1(eslint@7.32.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.7.0 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + eslint: 7.32.0 + eslint-scope: 5.1.1 + semver: 7.7.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + dev: true + + /acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + dev: true + + /acorn-jsx@5.3.2(acorn@7.4.1): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 7.4.1 + dev: true + + /acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.6 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + dev: true + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /anymatch@2.0.0: + resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} + dependencies: + micromatch: 3.1.10 + normalize-path: 2.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + dev: true + + /arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + dev: true + + /array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + dev: true + + /arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + dev: true + + /asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + dev: true + + /assign-symbols@1.0.0: + resolution: {integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=} + engines: {node: '>=0.10.0'} + dev: true + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: false + + /atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + dependencies: + possible-typed-array-names: 1.1.0 + dev: true + + /aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + dev: true + + /aws4@1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} + dev: true + + /babel-jest@26.6.3(@babel/core@7.26.10): + resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} + engines: {node: '>= 10.14.2'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@jest/transform': 26.6.2 + '@jest/types': 26.6.2 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 26.6.2(@babel/core@7.26.10) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.26.5 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist@26.6.2: + resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} + engines: {node: '>= 10.14.2'} + dependencies: + '@babel/template': 7.27.0 + '@babel/types': 7.27.0 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.7 + dev: true + + /babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.10): + resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.10) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.10) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.10) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.10) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.10) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.10) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.10) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.10) + dev: true + + /babel-preset-jest@26.6.2(@babel/core@7.26.10): + resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} + engines: {node: '>= 10.14.2'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.26.10 + babel-plugin-jest-hoist: 26.6.2 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.10) + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.1 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + dev: true + + /bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + dependencies: + tweetnacl: 0.14.5 + dev: true + + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.1.1 + dev: true + + /browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + dev: true + + /browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001715 + electron-to-chromium: 1.5.140 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.24.4) + dev: true + + /bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + dependencies: + fast-json-stable-stringify: 2.1.0 + dev: true + + /bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.1 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + dev: true + + /cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + dev: false + + /cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + dev: false + + /call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + dev: true + + /call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + dev: true + + /call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite@1.0.30001715: + resolution: {integrity: sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw==} + dev: true + + /capture-exit@2.0.0: + resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} + engines: {node: 6.* || 8.* || >= 10.*} + dependencies: + rsvp: 4.8.5 + dev: true + + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: true + + /cjs-module-lexer@0.6.0: + resolution: {integrity: sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==} + dev: true + + /class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + dev: true + + /cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + dependencies: + mimic-response: 1.0.1 + dev: false + + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + dev: true + + /collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + dev: true + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + dev: true + + /core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + dev: true + + /crc@3.8.0: + resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} + dependencies: + buffer: 5.7.1 + dev: true + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + + /cross-spawn@6.0.6: + resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} + engines: {node: '>=4.8'} + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + dev: true + + /cssom@0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + dev: true + + /cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + dependencies: + cssom: 0.3.8 + dev: true + + /dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + dev: true + + /data-urls@2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + dev: true + + /data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + dev: true + + /data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + dev: true + + /data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + dev: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@3.2.7(supports-color@5.5.0): + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + supports-color: 5.5.0 + dev: true + + /debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decimal.js@10.5.0: + resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} + dev: true + + /decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true + + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: false + + /dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + dev: false + + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + dev: true + + /define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 0.1.7 + dev: true + + /define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.3 + dev: true + + /define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-descriptor: 1.0.3 + isobject: 3.0.1 + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + + /detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /diff-sequences@26.6.2: + resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} + engines: {node: '>= 10.14.2'} + dev: true + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /domexception@2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + deprecated: Use your platform's native DOMException instead + dependencies: + webidl-conversions: 5.0.0 + dev: true + + /dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + dev: true + + /ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + + /electron-to-chromium@1.5.140: + resolution: {integrity: sha512-o82Rj+ONp4Ip7Cl1r7lrqx/pXhbp/lh9DpKcMNscFJdh8ebyRofnc7Sh01B4jx403RI0oqTBvlZ7OBIZLMr2+Q==} + dev: true + + /emittery@0.7.2: + resolution: {integrity: sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==} + engines: {node: '>=10'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.23.9: + resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-regex: 1.2.1 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.19 + dev: true + + /es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + + /es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + dev: true + + /es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + dev: true + + /es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + dev: true + + /es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + dev: true + + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + + /escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-utils@2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + dependencies: + eslint-visitor-keys: 1.3.0 + dev: true + + /eslint-visitor-keys@1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + dev: true + + /eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@7.32.0: + resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} + engines: {node: ^10.12.0 || >=12.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + dependencies: + '@babel/code-frame': 7.12.11 + '@eslint/eslintrc': 0.4.3 + '@humanwhocodes/config-array': 0.5.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.0 + doctrine: 3.0.0 + enquirer: 2.4.1 + escape-string-regexp: 4.0.0 + eslint-scope: 5.1.1 + eslint-utils: 2.1.0 + eslint-visitor-keys: 2.1.0 + espree: 7.3.1 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 5.1.2 + globals: 13.24.0 + ignore: 4.0.6 + import-fresh: 3.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 3.14.1 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.7.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + table: 6.9.0 + text-table: 0.2.0 + v8-compile-cache: 2.4.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@7.3.1: + resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + acorn: 7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) + eslint-visitor-keys: 1.3.0 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /exec-sh@0.3.6: + resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} + dev: true + + /execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + dependencies: + cross-spawn: 6.0.6 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + dev: true + + /execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.6 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true + + /expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /expect@26.6.2: + resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + ansi-styles: 4.3.0 + jest-get-type: 26.3.0 + jest-matcher-utils: 26.6.2 + jest-message-util: 26.6.2 + jest-regex-util: 26.0.0 + dev: true + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + + /extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: true + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true + + /extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-uri@3.0.6: + resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} + dev: true + + /fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + dependencies: + reusify: 1.1.0 + dev: true + + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + dev: true + + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.3 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} + dev: true + + /for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + dev: true + + /for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + dev: true + + /forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + dev: true + + /form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /form-data@3.0.3: + resolution: {integrity: sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + mime-types: 2.1.35 + dev: true + + /fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + dependencies: + map-cache: 0.2.2 + dev: true + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + dev: true + + /functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + dev: true + + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + dev: true + + /get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + dependencies: + pump: 3.0.2 + dev: true + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.2 + + /get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + dev: true + + /get-tsconfig@4.10.0: + resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + dev: true + + /getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + dependencies: + assert-plus: 1.0.0 + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.3 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + dev: true + + /got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.3 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 + dev: false + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /growly@1.3.0: + resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} + requiresBuild: true + dev: true + optional: true + + /har-schema@2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} + dev: true + + /har-validator@5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + dependencies: + ajv: 6.12.6 + har-schema: 2.0.0 + dev: true + + /has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.1 + dev: true + + /has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + dependencies: + dunder-proto: 1.0.1 + dev: true + + /has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.1.0 + dev: true + + /has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + dev: true + + /has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + dev: true + + /has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + dev: true + + /has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: true + + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /html-encoding-sniffer@2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + dependencies: + whatwg-encoding: 1.0.5 + dev: true + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: false + + /http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + dev: true + + /http-signature@1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.2 + sshpk: 1.18.0 + dev: true + + /http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + dev: false + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.4.0 + transitivePeerDependencies: + - supports-color + dev: true + + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: true + + /ignore-by-default@1.0.1: + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} + dev: true + + /ignore@4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + dev: true + + /ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + dev: true + + /is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} + dependencies: + hasown: 2.0.2 + dev: true + + /is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + dev: true + + /is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + dependencies: + has-bigints: 1.1.0 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: true + + /is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + dev: true + + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-ci@2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + dependencies: + ci-info: 2.0.0 + dev: true + + /is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.2 + dev: true + + /is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + dependencies: + hasown: 2.0.2 + dev: true + + /is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + dev: true + + /is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + dev: true + + /is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + dev: true + + /is-descriptor@1.0.3: + resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + engines: {node: '>= 0.4'} + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + + /is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + dev: true + + /is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + dev: true + + /is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + dev: true + + /is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + dev: true + + /is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + dev: true + + /is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + dev: true + + /is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + dev: true + + /is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.19 + dev: true + + /is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true + + /is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + dev: true + + /is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + dev: true + + /is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + dev: true + + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + requiresBuild: true + dependencies: + is-docker: 2.2.1 + dev: true + optional: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + dependencies: + isarray: 1.0.0 + dev: true + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + dev: true + + /isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + dev: true + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument@4.0.3: + resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.26.10 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.26.10 + '@babel/parser': 7.27.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.4.0 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jbinary@2.1.5: + resolution: {integrity: sha512-kcCu9qie3SIY/0cq1pC+v4+zOWzGQ3IY5NehqZN8Y4Ji6a2NQRysmegXFSNUlnRmc+PMipOL0pYu2buzlAMIaw==} + dependencies: + es6-promise: 4.2.8 + jdataview: 2.5.0 + request: 2.88.2 + dev: true + + /jdataview@2.5.0: + resolution: {integrity: sha1-MIGz/qZR+TF+xr1P6y3cmKpB1ZU=} + dev: true + + /jest-changed-files@26.6.2: + resolution: {integrity: sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + execa: 4.1.0 + throat: 5.0.0 + dev: true + + /jest-cli@26.6.3(ts-node@9.1.1): + resolution: {integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==} + engines: {node: '>= 10.14.2'} + hasBin: true + dependencies: + '@jest/core': 26.6.3(ts-node@9.1.1) + '@jest/test-result': 26.6.2 + '@jest/types': 26.6.2 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + import-local: 3.2.0 + is-ci: 2.0.0 + jest-config: 26.6.3(ts-node@9.1.1) + jest-util: 26.6.2 + jest-validate: 26.6.2 + prompts: 2.4.2 + yargs: 15.4.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /jest-config@26.6.3(ts-node@9.1.1): + resolution: {integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==} + engines: {node: '>= 10.14.2'} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + dependencies: + '@babel/core': 7.26.10 + '@jest/test-sequencer': 26.6.3(ts-node@9.1.1) + '@jest/types': 26.6.2 + babel-jest: 26.6.3(@babel/core@7.26.10) + chalk: 4.1.2 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-environment-jsdom: 26.6.2 + jest-environment-node: 26.6.2 + jest-get-type: 26.3.0 + jest-jasmine2: 26.6.3(ts-node@9.1.1) + jest-regex-util: 26.0.0 + jest-resolve: 26.6.2 + jest-util: 26.6.2 + jest-validate: 26.6.2 + micromatch: 4.0.8 + pretty-format: 26.6.2 + ts-node: 9.1.1(typescript@4.9.5) + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-diff@26.6.2: + resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} + engines: {node: '>= 10.14.2'} + dependencies: + chalk: 4.1.2 + diff-sequences: 26.6.2 + jest-get-type: 26.3.0 + pretty-format: 26.6.2 + dev: true + + /jest-docblock@26.0.0: + resolution: {integrity: sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==} + engines: {node: '>= 10.14.2'} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each@26.6.2: + resolution: {integrity: sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + chalk: 4.1.2 + jest-get-type: 26.3.0 + jest-util: 26.6.2 + pretty-format: 26.6.2 + dev: true + + /jest-environment-jsdom@26.6.2: + resolution: {integrity: sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/environment': 26.6.2 + '@jest/fake-timers': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.14.1 + jest-mock: 26.6.2 + jest-util: 26.6.2 + jsdom: 16.7.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - utf-8-validate + dev: true + + /jest-environment-node@26.6.2: + resolution: {integrity: sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/environment': 26.6.2 + '@jest/fake-timers': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.14.1 + jest-mock: 26.6.2 + jest-util: 26.6.2 + dev: true + + /jest-get-type@26.3.0: + resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} + engines: {node: '>= 10.14.2'} + dev: true + + /jest-haste-map@26.6.2: + resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + '@types/graceful-fs': 4.1.9 + '@types/node': 22.14.1 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 26.0.0 + jest-serializer: 26.6.2 + jest-util: 26.6.2 + jest-worker: 26.6.2 + micromatch: 4.0.8 + sane: 4.1.0 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-jasmine2@26.6.3(ts-node@9.1.1): + resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} + engines: {node: '>= 10.14.2'} + dependencies: + '@babel/traverse': 7.27.0 + '@jest/environment': 26.6.2 + '@jest/source-map': 26.6.2 + '@jest/test-result': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.14.1 + chalk: 4.1.2 + co: 4.6.0 + expect: 26.6.2 + is-generator-fn: 2.1.0 + jest-each: 26.6.2 + jest-matcher-utils: 26.6.2 + jest-message-util: 26.6.2 + jest-runtime: 26.6.3(ts-node@9.1.1) + jest-snapshot: 26.6.2 + jest-util: 26.6.2 + pretty-format: 26.6.2 + throat: 5.0.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /jest-leak-detector@26.6.2: + resolution: {integrity: sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==} + engines: {node: '>= 10.14.2'} + dependencies: + jest-get-type: 26.3.0 + pretty-format: 26.6.2 + dev: true + + /jest-matcher-utils@26.6.2: + resolution: {integrity: sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==} + engines: {node: '>= 10.14.2'} + dependencies: + chalk: 4.1.2 + jest-diff: 26.6.2 + jest-get-type: 26.3.0 + pretty-format: 26.6.2 + dev: true + + /jest-message-util@26.6.2: + resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} + engines: {node: '>= 10.14.2'} + dependencies: + '@babel/code-frame': 7.26.2 + '@jest/types': 26.6.2 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 26.6.2 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock@26.6.2: + resolution: {integrity: sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + '@types/node': 22.14.1 + dev: true + + /jest-pnp-resolver@1.2.3(jest-resolve@26.6.2): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 26.6.2 + dev: true + + /jest-regex-util@26.0.0: + resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} + engines: {node: '>= 10.14.2'} + dev: true + + /jest-resolve-dependencies@26.6.3: + resolution: {integrity: sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + jest-regex-util: 26.0.0 + jest-snapshot: 26.6.2 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve@26.6.2: + resolution: {integrity: sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-pnp-resolver: 1.2.3(jest-resolve@26.6.2) + jest-util: 26.6.2 + read-pkg-up: 7.0.1 + resolve: 1.22.10 + slash: 3.0.0 + dev: true + + /jest-runner@26.6.3(ts-node@9.1.1): + resolution: {integrity: sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/console': 26.6.2 + '@jest/environment': 26.6.2 + '@jest/test-result': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.14.1 + chalk: 4.1.2 + emittery: 0.7.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-config: 26.6.3(ts-node@9.1.1) + jest-docblock: 26.0.0 + jest-haste-map: 26.6.2 + jest-leak-detector: 26.6.2 + jest-message-util: 26.6.2 + jest-resolve: 26.6.2 + jest-runtime: 26.6.3(ts-node@9.1.1) + jest-util: 26.6.2 + jest-worker: 26.6.2 + source-map-support: 0.5.21 + throat: 5.0.0 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /jest-runtime@26.6.3(ts-node@9.1.1): + resolution: {integrity: sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==} + engines: {node: '>= 10.14.2'} + hasBin: true + dependencies: + '@jest/console': 26.6.2 + '@jest/environment': 26.6.2 + '@jest/fake-timers': 26.6.2 + '@jest/globals': 26.6.2 + '@jest/source-map': 26.6.2 + '@jest/test-result': 26.6.2 + '@jest/transform': 26.6.2 + '@jest/types': 26.6.2 + '@types/yargs': 15.0.19 + chalk: 4.1.2 + cjs-module-lexer: 0.6.0 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-config: 26.6.3(ts-node@9.1.1) + jest-haste-map: 26.6.2 + jest-message-util: 26.6.2 + jest-mock: 26.6.2 + jest-regex-util: 26.0.0 + jest-resolve: 26.6.2 + jest-snapshot: 26.6.2 + jest-util: 26.6.2 + jest-validate: 26.6.2 + slash: 3.0.0 + strip-bom: 4.0.0 + yargs: 15.4.1 + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /jest-serializer@26.6.2: + resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} + engines: {node: '>= 10.14.2'} + dependencies: + '@types/node': 22.14.1 + graceful-fs: 4.2.11 + dev: true + + /jest-snapshot@26.6.2: + resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} + engines: {node: '>= 10.14.2'} + dependencies: + '@babel/types': 7.27.0 + '@jest/types': 26.6.2 + '@types/babel__traverse': 7.20.7 + '@types/prettier': 2.2.3 + chalk: 4.1.2 + expect: 26.6.2 + graceful-fs: 4.2.11 + jest-diff: 26.6.2 + jest-get-type: 26.3.0 + jest-haste-map: 26.6.2 + jest-matcher-utils: 26.6.2 + jest-message-util: 26.6.2 + jest-resolve: 26.6.2 + natural-compare: 1.4.0 + pretty-format: 26.6.2 + semver: 7.7.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-util@26.6.2: + resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + '@types/node': 22.14.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + is-ci: 2.0.0 + micromatch: 4.0.8 + dev: true + + /jest-validate@26.6.2: + resolution: {integrity: sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/types': 26.6.2 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 26.3.0 + leven: 3.1.0 + pretty-format: 26.6.2 + dev: true + + /jest-watcher@26.6.2: + resolution: {integrity: sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==} + engines: {node: '>= 10.14.2'} + dependencies: + '@jest/test-result': 26.6.2 + '@jest/types': 26.6.2 + '@types/node': 22.14.1 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + jest-util: 26.6.2 + string-length: 4.0.2 + dev: true + + /jest-worker@26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 22.14.1 + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: true + + /jest@26.6.3(ts-node@9.1.1): + resolution: {integrity: sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==} + engines: {node: '>= 10.14.2'} + hasBin: true + dependencies: + '@jest/core': 26.6.3(ts-node@9.1.1) + import-local: 3.2.0 + jest-cli: 26.6.3(ts-node@9.1.1) + transitivePeerDependencies: + - bufferutil + - canvas + - supports-color + - ts-node + - utf-8-validate + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + dev: true + + /jsdom@16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.14.1 + acorn-globals: 6.0.0 + cssom: 0.4.4 + cssstyle: 2.3.0 + data-urls: 2.0.0 + decimal.js: 10.5.0 + domexception: 2.0.1 + escodegen: 2.1.0 + form-data: 3.0.3 + html-encoding-sniffer: 2.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.20 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 2.0.0 + webidl-conversions: 6.1.0 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + ws: 7.5.10 + xml-name-validator: 3.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + /json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.11 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.truncate@4.4.2: + resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + dev: false + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.7.1 + dev: true + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + dependencies: + object-visit: 1.0.1 + dev: true + + /math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + dev: true + + /memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@3.1.10: + resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 6.0.3 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: true + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: false + + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: false + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: true + + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} + dev: true + + /nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + dev: true + + /node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true + + /node-notifier@8.0.2: + resolution: {integrity: sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==} + requiresBuild: true + dependencies: + growly: 1.3.0 + is-wsl: 2.2.0 + semver: 7.7.1 + shellwords: 0.1.1 + uuid: 8.3.2 + which: 2.0.2 + dev: true + optional: true + + /node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + dev: true + + /nodemon@2.0.22: + resolution: {integrity: sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==} + engines: {node: '>=8.10.0'} + hasBin: true + dependencies: + chokidar: 3.6.0 + debug: 3.2.7(supports-color@5.5.0) + ignore-by-default: 1.0.1 + minimatch: 3.1.2 + pstree.remy: 1.1.8 + semver: 5.7.2 + simple-update-notifier: 1.1.0 + supports-color: 5.5.0 + touch: 3.1.1 + undefsafe: 2.0.5 + dev: true + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.10 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + dependencies: + remove-trailing-separator: 1.1.0 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: false + + /npm-run-all@4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + dependencies: + ansi-styles: 3.2.1 + chalk: 2.4.2 + cross-spawn: 6.0.6 + memorystream: 0.3.1 + minimatch: 3.1.2 + pidtree: 0.3.1 + read-pkg: 3.0.0 + shell-quote: 1.8.2 + string.prototype.padend: 3.1.6 + dev: true + + /npm-run-path@2.0.2: + resolution: {integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=} + engines: {node: '>=4'} + dependencies: + path-key: 2.0.1 + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /nwsapi@2.2.20: + resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} + dev: true + + /oauth-sign@0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + dev: true + + /object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + dev: true + + /object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + dev: true + + /object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + dev: true + + /own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + dev: true + + /p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + dev: false + + /p-each-series@2.2.0: + resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} + engines: {node: '>=8'} + dev: true + + /p-filter@2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + dependencies: + p-map: 2.1.0 + dev: true + + /p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@4.0.0: + resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.26.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true + + /pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: true + + /picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pidtree@0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pify@3.0.0: + resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} + engines: {node: '>=4'} + dev: true + + /pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + dev: true + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + dev: true + + /possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier@2.3.0: + resolution: {integrity: sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-format@26.6.2: + resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} + engines: {node: '>= 10'} + dependencies: + '@jest/types': 26.6.2 + ansi-regex: 5.0.1 + ansi-styles: 4.3.0 + react-is: 17.0.2 + dev: true + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /psl@1.15.0: + resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} + dependencies: + punycode: 2.3.1 + dev: true + + /pstree.remy@1.1.8: + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} + dev: true + + /pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + dev: true + + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: false + + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.5.0 + path-type: 3.0.0 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.4 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + dev: true + + /regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: true + + /regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + dev: true + + /regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + + /remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + dev: true + + /repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + dev: true + + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + dev: true + + /request@2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + dependencies: + aws-sign2: 0.7.0 + aws4: 1.13.2 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + har-validator: 5.1.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.3 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=} + dev: true + + /resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + dev: false + + /resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + + /resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + + /resolve@1.22.10: + resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + engines: {node: '>= 0.4'} + hasBin: true + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + dependencies: + lowercase-keys: 2.0.0 + dev: false + + /ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + dev: true + + /reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rsvp@4.8.5: + resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} + engines: {node: 6.* || >= 7.*} + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + dev: true + + /safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + dev: true + + /safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + dependencies: + ret: 0.1.15 + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /sane@4.1.0: + resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} + engines: {node: 6.* || 8.* || >= 10.*} + deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added + hasBin: true + dependencies: + '@cnakazawa/watch': 1.0.4 + anymatch: 2.0.0 + capture-exit: 2.0.0 + exec-sh: 0.3.6 + execa: 1.0.0 + fb-watchman: 2.0.2 + micromatch: 3.1.10 + minimist: 1.2.8 + walker: 1.0.8 + transitivePeerDependencies: + - supports-color + dev: true + + /saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + dependencies: + xmlchars: 2.2.0 + dev: true + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.0.0: + resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} + hasBin: true + dev: true + + /semver@7.7.1: + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true + + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + dev: true + + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + dev: true + + /set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + dev: true + + /set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: true + + /shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /shell-quote@1.8.2: + resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==} + engines: {node: '>= 0.4'} + dev: true + + /shellwords@0.1.1: + resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} + requiresBuild: true + dev: true + optional: true + + /side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + dev: true + + /side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + dev: true + + /side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + dev: true + + /side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /simple-update-notifier@1.1.0: + resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==} + engines: {node: '>=8.10.0'} + dependencies: + semver: 7.0.0 + dev: true + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: true + + /snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + dev: true + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + dev: true + + /source-map@0.5.7: + resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.21 + dev: true + + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.21 + dev: true + + /spdx-license-ids@3.0.21: + resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + dev: true + + /split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: true + + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: true + + /string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string.prototype.padend@3.1.6: + resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.1.1 + dev: true + + /string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 + dev: true + + /string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + dev: true + + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true + + /table@6.9.0: + resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.17.1 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /throat@5.0.0: + resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} + dev: true + + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + dev: true + + /to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + dev: true + + /touch@3.1.1: + resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} + hasBin: true + dev: true + + /tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + dev: true + + /tough-cookie@4.1.4: + resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} + engines: {node: '>=6'} + dependencies: + psl: 1.15.0 + punycode: 2.3.1 + universalify: 0.2.0 + url-parse: 1.5.10 + dev: true + + /tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + dependencies: + punycode: 2.3.1 + dev: true + + /ts-jest@26.5.6(jest@26.6.3)(typescript@4.9.5): + resolution: {integrity: sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==} + engines: {node: '>= 10'} + hasBin: true + peerDependencies: + jest: '>=26 <27' + typescript: '>=3.8 <5.0' + dependencies: + bs-logger: 0.2.6 + buffer-from: 1.1.2 + fast-json-stable-stringify: 2.1.0 + jest: 26.6.3(ts-node@9.1.1) + jest-util: 26.6.2 + json5: 2.2.3 + lodash: 4.17.21 + make-error: 1.3.6 + mkdirp: 1.0.4 + semver: 7.7.1 + typescript: 4.9.5 + yargs-parser: 20.2.9 + dev: true + + /ts-node@9.1.1(typescript@4.9.5): + resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} + engines: {node: '>=10.0.0'} + hasBin: true + peerDependencies: + typescript: '>=2.7' + dependencies: + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + source-map-support: 0.5.21 + typescript: 4.9.5 + yn: 3.1.1 + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + dev: false + + /tsutils@3.21.0(typescript@4.9.5): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 + dev: true + + /tsx@3.14.0: + resolution: {integrity: sha512-xHtFaKtHxM9LOklMmJdI3BEnQq/D5F73Of2E1GDrITi9sgoVkvIsrQUTY1G8FlmGtA+awCI4EBlTRRYxkL2sRg==} + hasBin: true + dependencies: + esbuild: 0.18.20 + get-tsconfig: 4.10.0 + source-map-support: 0.5.21 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + dev: true + + /typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + dev: true + + /typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + dev: true + + /typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + dev: true + + /typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: true + + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + dev: true + + /undefsafe@2.0.5: + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} + dev: true + + /undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + + /union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: true + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: false + + /unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + + /update-browserslist-db@1.1.3(browserslist@4.24.4): + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + + /use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + dev: true + + /uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: true + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /v8-compile-cache@2.4.0: + resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} + dev: true + + /v8-to-istanbul@7.1.2: + resolution: {integrity: sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==} + engines: {node: '>=10.10.0'} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 1.9.0 + source-map: 0.7.4 + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /valve-kv@1.2.1: + resolution: {integrity: sha512-xZJmY1CPSLxDIoHAjuU/G96JI4+ASLDJZ4nimR1io52F/Qp7mRNl8QOqaq+ln2rZaw1DsQWJ4B48AGFVU7X3rA==} + dependencies: + '@types/node': 14.18.63 + dev: true + + /vdf-extra@2.2.2: + resolution: {integrity: sha512-wqu6E5PMjPzKQSVsWrbVoLp5Oy4pnxy59f/2xaZa7gbBjI6dYSAcpAqNIyZdixQFrNZrLbh1zkeQWWZ5tsnffA==} + dependencies: + lodash: 4.17.21 + + /verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + + /vpk@0.2.0: + resolution: {integrity: sha512-1PR3qji7UnSlvAnXG8E18+Jm9XgFvTw0h+ukbu0e93QEzm3qXlvW1OJQOEzg8+xXwqOfQF7OeNiG3+E3fl1oFg==} + dependencies: + crc: 3.8.0 + jbinary: 2.1.5 + dev: true + + /w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + dependencies: + browser-process-hrtime: 1.0.0 + dev: true + + /w3c-xmlserializer@2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + dependencies: + xml-name-validator: 3.0.0 + dev: true + + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + dev: true + + /webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + dev: true + + /whatwg-encoding@1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + dependencies: + iconv-lite: 0.4.24 + dev: true + + /whatwg-mimetype@2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + dev: true + + /whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + dependencies: + lodash: 4.17.21 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + dev: true + + /which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + dev: true + + /which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.0 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.19 + dev: true + + /which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + dev: true + + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + dev: true + + /which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: true + + /ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + + /xml-name-validator@3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + dev: true + + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true + + /y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + + /yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true + + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true