-- Generated ApiVault API data shard. Do not edit manually.
-- version=0.1.0.2; shard=26; systems=20
local addonName, ApiVault = ...
local systems = ApiVault.APIData.systems
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "TextureSharedDocumentation.lua",
	hash = "043bc540708551f20b28e3c2367173966b5f7f376d825ceb04433354acb7868d",
}
systems[#systems + 1] = {
	name = "TextureUtils",
	type = "System",
	ns = "C_Texture",
	env = "All",
	file = "TextureUtilsDocumentation.lua",
	hash = "128dc3a433b5bb06c405763a469ca7ab0dbee37db9b4ee8560cc92785b06cf14",
	functions = {
		{
			n = "ClearTitleIconTexture",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "texture",
					t = "SimpleTexture",
					nilable = false,
				},
			},
		},
		{
			n = "GetAtlasElementID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "atlas",
					t = "textureAtlas",
					nilable = false,
				},
			},
			rets = {
				{
					n = "elementID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetAtlasElements",
			k = "Function",
			rets = {
				{
					n = "atlases",
					t = "table",
					nilable = false,
					it = "textureAtlas",
				},
			},
		},
		{
			n = "GetAtlasExists",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "atlas",
					t = "textureAtlas",
					nilable = false,
				},
			},
			rets = {
				{
					n = "atlasExists",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "GetAtlasID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "atlas",
					t = "textureAtlas",
					nilable = false,
				},
			},
			rets = {
				{
					n = "atlasID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetAtlasInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "atlas",
					t = "textureAtlas",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "AtlasInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetFilenameFromFileDataID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "fileDataID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "filename",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "GetTitleIconTexture",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "titleID",
					t = "string",
					nilable = false,
				},
				{
					n = "version",
					t = "TitleIconVersion",
					nilable = false,
				},
				{
					n = "callback",
					t = "GetTitleIconTextureCallback",
					nilable = false,
				},
			},
		},
		{
			n = "IsTitleIconTextureReady",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "titleID",
					t = "string",
					nilable = false,
				},
				{
					n = "version",
					t = "TitleIconVersion",
					nilable = false,
				},
			},
			rets = {
				{
					n = "ready",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetTitleIconTexture",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "texture",
					t = "SimpleTexture",
					nilable = false,
				},
				{
					n = "titleID",
					t = "string",
					nilable = false,
				},
				{
					n = "version",
					t = "TitleIconVersion",
					nilable = false,
				},
			},
		},
		{
			n = "SetURLTexture",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "texture",
					t = "SimpleTexture",
					nilable = false,
				},
				{
					n = "url",
					t = "cstring",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
	},
	events = {
		{
			n = "UrlTextureRequestResult",
			k = "Event",
			payload = {
				{
					n = "texture",
					t = "SimpleTexture",
					nilable = false,
				},
				{
					n = "result",
					t = "UrlTextureResult",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "URL_TEXTURE_REQUEST_RESULT",
		},
	},
	tables = {
		{
			n = "TitleIconVersion",
			k = "Enumeration",
			fields = {
				{
					n = "Small",
					t = "TitleIconVersion",
					EnumValue = 0,
				},
				{
					n = "Medium",
					t = "TitleIconVersion",
					EnumValue = 1,
				},
				{
					n = "Large",
					t = "TitleIconVersion",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "UrlTextureResult",
			k = "Enumeration",
			fields = {
				{
					n = "Found",
					t = "UrlTextureResult",
					EnumValue = 1,
				},
				{
					n = "NotFound",
					t = "UrlTextureResult",
					EnumValue = 2,
				},
				{
					n = "Requested",
					t = "UrlTextureResult",
					EnumValue = 3,
				},
				{
					n = "NotAllowed",
					t = "UrlTextureResult",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 1,
			num = 4,
		},
		{
			n = "AtlasInfo",
			k = "Structure",
			fields = {
				{
					n = "elementName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "width",
					t = "number",
					nilable = false,
				},
				{
					n = "height",
					t = "number",
					nilable = false,
				},
				{
					n = "rawSize",
					t = "vector2",
					nilable = false,
					mix = "Vector2DMixin",
				},
				{
					n = "leftTexCoord",
					t = "number",
					nilable = false,
				},
				{
					n = "rightTexCoord",
					t = "number",
					nilable = false,
				},
				{
					n = "topTexCoord",
					t = "number",
					nilable = false,
				},
				{
					n = "bottomTexCoord",
					t = "number",
					nilable = false,
				},
				{
					n = "tilesHorizontally",
					t = "bool",
					nilable = false,
				},
				{
					n = "tilesVertically",
					t = "bool",
					nilable = false,
				},
				{
					n = "file",
					t = "fileID",
					nilable = true,
				},
				{
					n = "filename",
					t = "string",
					nilable = true,
				},
				{
					n = "sliceData",
					t = "UITextureSliceData",
					nilable = true,
				},
			},
		},
		{
			n = "GetTitleIconTextureCallback",
			k = "CallbackType",
			Arguments = {
				{
					Name = "success",
					Nilable = false,
					Type = "bool",
				},
				{
					Name = "texture",
					Nilable = false,
					Type = "fileID",
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "Threat",
	type = "System",
	ns = "",
	env = "All",
	file = "ThreatDocumentation.lua",
	hash = "dcb840455c2c8c320b602aa804f6a918cf7945991bb5f7a93dfb9de9f12ee032",
	functions = {
		{
			n = "GetThreatStatusColor",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "gameErrorIndex",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "colorR",
					t = "number",
					nilable = false,
				},
				{
					n = "colorG",
					t = "number",
					nilable = false,
				},
				{
					n = "colorB",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "IsThreatWarningEnabled",
			k = "Function",
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "TimeDocumentation.lua",
	hash = "8734ba1fb294a6e71979692be542df08286bfd6a8967358d23a94734246bd02b",
	tables = {
		{
			n = "CalendarTime",
			k = "Structure",
			fields = {
				{
					n = "monthDay",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "month",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "weekday",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "year",
					t = "number",
					nilable = false,
				},
				{
					n = "hour",
					t = "number",
					nilable = false,
				},
				{
					n = "minute",
					t = "number",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "TimerConstantsDocumentation.lua",
	hash = "0f3afee76af49f3aa30765811a5344445ca3e8081d4a364965e26ea14e987219",
	tables = {
		{
			n = "StartTimerType",
			k = "Enumeration",
			fields = {
				{
					n = "PvPBeginTimer",
					t = "StartTimerType",
					EnumValue = 0,
				},
				{
					n = "ChallengeModeCountdown",
					t = "StartTimerType",
					EnumValue = 1,
				},
				{
					n = "PlayerCountdown",
					t = "StartTimerType",
					EnumValue = 2,
				},
				{
					n = "PlunderstormCountdown",
					t = "StartTimerType",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "TimerunningConstantsDocumentation.lua",
	hash = "db6d246e7bd58a843d17a3c997ff9b61a44de8c5c8b4507ca5caee4abe08fe26",
	tables = {
		{
			n = "TimerunningConsts",
			k = "Constants",
			values = {
				{
					n = "TIMERUNNING_SEASON_NONE",
					t = "number",
					Value = 0,
				},
				{
					n = "TIMERUNNING_SEASON_PANDARIA",
					t = "number",
					Value = 1,
				},
				{
					n = "TIMERUNNING_SEASON_LEGION",
					t = "number",
					Value = 2,
				},
				{
					n = "TIMERUNNING_ITEM_CTR",
					t = "number",
					Value = 2905,
				},
				{
					n = "TIMERUNNING_LEGION_ARTIFACT_CTR",
					t = "number",
					Value = 4579,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "TimerunningUI",
	type = "System",
	ns = "C_TimerunningUI",
	env = "All",
	file = "TimerunningUIDocumentation.lua",
	hash = "3533f607a4a44cedc599b1c507bb53b6983567ae6362b1f876a99c4b41f2b29c",
	functions = {
		{
			n = "GetActiveTimerunningSeasonID",
			k = "Function",
			rets = {
				{
					n = "activeTimerunningSeasonID",
					t = "number",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "RemixEndOfEvent",
			k = "Event",
			SynchronousEvent = true,
			literal = "REMIX_END_OF_EVENT",
		},
	},
}
systems[#systems + 1] = {
	name = "Title",
	type = "System",
	ns = "",
	env = "All",
	file = "TitleDocumentation.lua",
	hash = "50784e3cb1a8106e406e98213b95406d45b7819dc33eddb2493d9d6049fe4282",
	functions = {
		{
			n = "GetCurrentTitle",
			k = "Function",
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumTitles",
			k = "Function",
			rets = {
				{
					n = "result",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetTitleName",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "titleMaskID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "titleString",
					t = "string",
					nilable = false,
				},
				{
					n = "playerTitle",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsTitleKnown",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "titleMaskID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetCurrentTitle",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "titleMaskID",
					t = "number",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "TooltipComparison",
	type = "System",
	ns = "C_TooltipComparison",
	env = "All",
	file = "TooltipComparisonDocumentation.lua",
	hash = "11b263579d0283a5d8e3e7021cda3ab888b185cb5c56c4a544228b7b86f12004",
	functions = {
		{
			n = "CompareItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "comparisonItem",
					t = "TooltipComparisonItem",
					nilable = false,
				},
				{
					n = "tooltip",
					t = "Tooltip",
					nilable = false,
				},
				{
					n = "anchorFrame",
					t = "SimpleFrame",
					nilable = true,
				},
			},
			IsProtectedFunction = true,
		},
		{
			n = "GetItemComparisonDelta",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "comparisonItem",
					t = "TooltipComparisonItem",
					nilable = false,
				},
				{
					n = "equippedItem",
					t = "TooltipComparisonItem",
					nilable = false,
				},
				{
					n = "pairedItem",
					t = "TooltipComparisonItem",
					nilable = true,
				},
				{
					n = "addPairedStats",
					t = "bool",
					nilable = true,
					doc = {
						"Whether the paired item's stats are added or subtracted",
					},
				},
			},
			rets = {
				{
					n = "lines",
					t = "table",
					nilable = false,
					it = "string",
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetItemComparisonInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "comparisonItem",
					t = "TooltipComparisonItem",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "TooltipItemComparisonInfo",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
	},
	events = {
		{
			n = "TooltipShowItemComparison",
			k = "Event",
			payload = {
				{
					n = "comparisonItem",
					t = "TooltipComparisonItem",
					nilable = false,
				},
				{
					n = "tooltip",
					t = "Tooltip",
					nilable = false,
				},
				{
					n = "anchorFrame",
					t = "SimpleFrame",
					nilable = true,
				},
			},
			CallbackEvent = true,
			literal = "TOOLTIP_SHOW_ITEM_COMPARISON",
		},
	},
	tables = {
		{
			n = "TooltipComparisonMethod",
			k = "Enumeration",
			fields = {
				{
					n = "Single",
					t = "TooltipComparisonMethod",
					EnumValue = 0,
				},
				{
					n = "WithBothHands",
					t = "TooltipComparisonMethod",
					EnumValue = 1,
				},
				{
					n = "WithBagMainHandItem",
					t = "TooltipComparisonMethod",
					EnumValue = 2,
				},
				{
					n = "WithBagOffHandItem",
					t = "TooltipComparisonMethod",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "TooltipItemComparisonInfo",
			k = "Structure",
			fields = {
				{
					n = "method",
					t = "TooltipComparisonMethod",
					nilable = false,
					def = "Single",
				},
				{
					n = "item",
					t = "TooltipComparisonItem",
					nilable = false,
				},
				{
					n = "additionalItems",
					t = "table",
					nilable = false,
					it = "TooltipComparisonItem",
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "TooltipConstantsDocumentation.lua",
	hash = "44adb8d11d166bf5074e5ab47c3c827623de0d272ec30575482a6f455d182b27",
	tables = {
		{
			n = "TooltipSide",
			k = "Enumeration",
			fields = {
				{
					n = "Left",
					t = "TooltipSide",
					EnumValue = 0,
				},
				{
					n = "Right",
					t = "TooltipSide",
					EnumValue = 1,
				},
				{
					n = "Top",
					t = "TooltipSide",
					EnumValue = 2,
				},
				{
					n = "Bottom",
					t = "TooltipSide",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "TooltipTextureAnchor",
			k = "Enumeration",
			fields = {
				{
					n = "LeftTop",
					t = "TooltipTextureAnchor",
					EnumValue = 0,
				},
				{
					n = "LeftCenter",
					t = "TooltipTextureAnchor",
					EnumValue = 1,
				},
				{
					n = "LeftBottom",
					t = "TooltipTextureAnchor",
					EnumValue = 2,
				},
				{
					n = "RightTop",
					t = "TooltipTextureAnchor",
					EnumValue = 3,
				},
				{
					n = "RightCenter",
					t = "TooltipTextureAnchor",
					EnumValue = 4,
				},
				{
					n = "RightBottom",
					t = "TooltipTextureAnchor",
					EnumValue = 5,
				},
				{
					n = "All",
					t = "TooltipTextureAnchor",
					EnumValue = 6,
				},
			},
			max = 6,
			min = 0,
			num = 7,
		},
		{
			n = "TooltipTextureRelativeRegion",
			k = "Enumeration",
			fields = {
				{
					n = "LeftLine",
					t = "TooltipTextureRelativeRegion",
					EnumValue = 0,
				},
				{
					n = "RightLine",
					t = "TooltipTextureRelativeRegion",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
	},
}
systems[#systems + 1] = {
	name = "TooltipInfo",
	type = "System",
	ns = "C_TooltipInfo",
	env = "All",
	file = "TooltipInfoDocumentation.lua",
	hash = "0fd5bdb92f7ffa07aac1dc5b347d3f65f5c27243396fc2bf392a1cefad14da1d",
	functions = {
		{
			n = "GetAchievementByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "achievementID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetAction",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "actionID",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetArtifactItem",
			k = "Function",
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetArtifactPowerByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetAzeriteEssence",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "essenceID",
					t = "number",
					nilable = false,
				},
				{
					n = "rank",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetAzeriteEssenceSlot",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "AzeriteEssenceSlot",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetAzeritePower",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "powerID",
					t = "number",
					nilable = false,
				},
				{
					n = "owningItemLink",
					t = "cstring",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetBackpackToken",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetBagItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bagIndex",
					t = "BagIndex",
					nilable = false,
				},
				{
					n = "slotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetBagItemChild",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "bagIndex",
					t = "BagIndex",
					nilable = false,
				},
				{
					n = "slotIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "equipSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetBuybackItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetCompanionPet",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "petGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetConduit",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "conduitID",
					t = "number",
					nilable = false,
				},
				{
					n = "conduitRank",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetCurrencyByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "currencyID",
					t = "number",
					nilable = false,
				},
				{
					n = "amount",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetCurrencyToken",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "tokenIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetEnhancedConduit",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "conduitID",
					t = "number",
					nilable = false,
				},
				{
					n = "rank",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetEquipmentSet",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "setID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetExistingSocketGem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "toDestroy",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetGuildBankItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "tab",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetHeirloomByItemID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetHyperlink",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "hyperlink",
					t = "cstring",
					nilable = false,
				},
				{
					n = "optionalArg1",
					t = "number",
					nilable = true,
				},
				{
					n = "optionalArg2",
					t = "number",
					nilable = true,
				},
				{
					n = "hideVendorPrice",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetInboxItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "messageIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "attachmentIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetInstanceLockEncountersComplete",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetInventoryItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitToken",
					nilable = false,
				},
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "hideUselessStats",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetInventoryItemByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetItemByGUID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "guid",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetItemByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "quality",
					t = "number",
					nilable = true,
				},
				{
					n = "itemContext",
					t = "number",
					nilable = true,
				},
				{
					n = "treasureContextLevel",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetItemByItemModifiedAppearanceID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemModifiedAppearanceID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetItemInteractionItem",
			k = "Function",
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetItemKey",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "itemSuffix",
					t = "number",
					nilable = false,
				},
				{
					n = "requiredLevel",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetLFGDungeonReward",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "dungeonID",
					t = "number",
					nilable = false,
				},
				{
					n = "lootIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetLFGDungeonShortageReward",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "dungeonID",
					t = "number",
					nilable = false,
				},
				{
					n = "shortageSeverity",
					t = "number",
					nilable = false,
				},
				{
					n = "lootIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetLootCurrency",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetLootItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetLootRollItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "id",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetMerchantCostItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "costIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetMerchantItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetMinimapMouseover",
			k = "Function",
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetMountBySpellID",
			k = "Function",
			sec = "AllowedWhenTainted",
			args = {
				{
					n = "spellID",
					t = "SpellIdentifier",
					nilable = false,
				},
				{
					n = "checkIndoors",
					t = "bool",
					nilable = true,
					NeverSecret = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetOutfit",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "outfitID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetOwnedItemByID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetPetAction",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetPossession",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetPvpBrawl",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isSpecial",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetPvpTalent",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "talentID",
					t = "number",
					nilable = false,
				},
				{
					n = "isInspect",
					t = "bool",
					nilable = true,
				},
				{
					n = "groupIndex",
					t = "luaIndex",
					nilable = true,
				},
				{
					n = "talentIndex",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetQuestCurrency",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "type",
					t = "cstring",
					nilable = false,
				},
				{
					n = "currencyIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetQuestItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "type",
					t = "cstring",
					nilable = false,
				},
				{
					n = "itemIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "allowCollectionText",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetQuestLogCurrency",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "type",
					t = "cstring",
					nilable = false,
				},
				{
					n = "currencyIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "questID",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetQuestLogItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "type",
					t = "cstring",
					nilable = false,
				},
				{
					n = "itemIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "questID",
					t = "number",
					nilable = true,
				},
				{
					n = "allowCollectionText",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetQuestLogSpecialItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "questIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetQuestPartyProgress",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "questID",
					t = "number",
					nilable = false,
				},
				{
					n = "omitTitle",
					t = "bool",
					nilable = true,
				},
				{
					n = "ignoreActivePlayer",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetRecipeRankInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "rank",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetRecipeReagentItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "dataSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetRecipeResultItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "reagentInfos",
					t = "table",
					nilable = true,
					it = "CraftingReagentInfo",
				},
				{
					n = "recraftItemGUID",
					t = "WOWGUID",
					nilable = true,
				},
				{
					n = "recipeLevel",
					t = "luaIndex",
					nilable = true,
				},
				{
					n = "overrideQualityID",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetRecipeResultItemForOrder",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "reagentInfos",
					t = "table",
					nilable = true,
					it = "CraftingReagentInfo",
				},
				{
					n = "orderID",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "recipeLevel",
					t = "luaIndex",
					nilable = true,
				},
				{
					n = "overrideQualityID",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetRuneforgeResultItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "itemLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "powerID",
					t = "number",
					nilable = true,
				},
				{
					n = "modifiers",
					t = "table",
					nilable = true,
					it = "number",
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetSendMailItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "attachmentIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetShapeshift",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetSlottedKeystone",
			k = "Function",
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetSocketGem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetSocketedItem",
			k = "Function",
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetSocketedRelic",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slotIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetSpellBookItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "spellBookItemSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "spellBookItemSpellBank",
					t = "SpellBookSpellBank",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetSpellByID",
			k = "Function",
			sec = "AllowedWhenTainted",
			args = {
				{
					n = "spellID",
					t = "SpellIdentifier",
					nilable = false,
				},
				{
					n = "isPet",
					t = "bool",
					nilable = true,
					NeverSecret = true,
				},
				{
					n = "showSubtext",
					t = "bool",
					nilable = true,
					NeverSecret = true,
				},
				{
					n = "dontOverride",
					t = "bool",
					nilable = true,
					NeverSecret = true,
				},
				{
					n = "difficultyID",
					t = "number",
					nilable = true,
					NeverSecret = true,
				},
				{
					n = "isLink",
					t = "bool",
					nilable = true,
					NeverSecret = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetTalent",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "talentID",
					t = "number",
					nilable = false,
				},
				{
					n = "isInspect",
					t = "bool",
					nilable = true,
				},
				{
					n = "groupIndex",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetTotem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetToyByItemID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetTradePlayerItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetTradeTargetItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetTrainerService",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "serviceIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetTraitEntry",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "entryID",
					t = "number",
					nilable = false,
				},
				{
					n = "rank",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetUnit",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unit",
					t = "UnitTokenPvPRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "hideStatus",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetUnitAura",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenRestrictedForAddOns",
					nilable = false,
					NeverSecret = true,
				},
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "filter",
					t = "AuraFilters",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			SecretWhenUnitAuraRestricted = true,
			mayReturnNothing = true,
		},
		{
			n = "GetUnitAuraByAuraInstanceID",
			k = "Function",
			doc = {
				"Obtains aura info like other functions with the caveat that the filters will always at least include the typically mutually exclusive HELPFUL|HARMFUL regardless of what the argument value is set to",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "auraInstanceID",
					t = "number",
					nilable = false,
				},
				{
					n = "filter",
					t = "AuraFilters",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			SecretWhenUnitAuraRestricted = true,
			mayReturnNothing = true,
		},
		{
			n = "GetUnitBuff",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "filter",
					t = "AuraFilters",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			SecretWhenUnitAuraRestricted = true,
			mayReturnNothing = true,
		},
		{
			n = "GetUnitBuffByAuraInstanceID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "auraInstanceID",
					t = "number",
					nilable = false,
				},
				{
					n = "filter",
					t = "AuraFilters",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			SecretWhenUnitAuraRestricted = true,
			mayReturnNothing = true,
		},
		{
			n = "GetUnitDebuff",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "index",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "filter",
					t = "AuraFilters",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			SecretWhenUnitAuraRestricted = true,
			mayReturnNothing = true,
		},
		{
			n = "GetUnitDebuffByAuraInstanceID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitToken",
					t = "UnitTokenRestrictedForAddOns",
					nilable = false,
				},
				{
					n = "auraInstanceID",
					t = "number",
					nilable = false,
				},
				{
					n = "filter",
					t = "AuraFilters",
					nilable = true,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			SecretWhenUnitAuraRestricted = true,
			mayReturnNothing = true,
		},
		{
			n = "GetUpgradeItem",
			k = "Function",
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetWeeklyReward",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemDBID",
					t = "WeeklyRewardItemDBID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetWorldCursor",
			k = "Function",
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
		{
			n = "GetWorldLootObject",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "unitTokenString",
					t = "cstring",
					nilable = false,
				},
			},
			rets = {
				{
					n = "data",
					t = "TooltipData",
					nilable = false,
				},
			},
			mayReturnNothing = true,
		},
	},
	events = {
		{
			n = "HideHyperlinkTooltip",
			k = "Event",
			SynchronousEvent = true,
			literal = "HIDE_HYPERLINK_TOOLTIP",
		},
		{
			n = "ShowHyperlinkTooltip",
			k = "Event",
			payload = {
				{
					n = "hyperlink",
					t = "string",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "SHOW_HYPERLINK_TOOLTIP",
		},
		{
			n = "TooltipDataUpdate",
			k = "Event",
			doc = {
				"Sends an update to the UI that a sparse or cache lookup has resolved",
			},
			payload = {
				{
					n = "dataInstanceID",
					t = "number",
					nilable = true,
				},
			},
			literal = "TOOLTIP_DATA_UPDATE",
			unique = true,
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "TooltipInfoSharedDocumentation.lua",
	hash = "1d2081a3c6dddd6b5a957be26582e582b52ac5ea0415700ae0d14c368b5f05c5",
	tables = {
		{
			n = "TooltipDataItemBinding",
			k = "Enumeration",
			fields = {
				{
					n = "Quest",
					t = "TooltipDataItemBinding",
					EnumValue = 0,
				},
				{
					n = "Account",
					t = "TooltipDataItemBinding",
					EnumValue = 1,
				},
				{
					n = "BnetAccount",
					t = "TooltipDataItemBinding",
					EnumValue = 2,
				},
				{
					n = "Soulbound",
					t = "TooltipDataItemBinding",
					EnumValue = 3,
				},
				{
					n = "BindToAccount",
					t = "TooltipDataItemBinding",
					EnumValue = 4,
				},
				{
					n = "BindToBnetAccount",
					t = "TooltipDataItemBinding",
					EnumValue = 5,
				},
				{
					n = "BindOnPickup",
					t = "TooltipDataItemBinding",
					EnumValue = 6,
				},
				{
					n = "BindOnEquip",
					t = "TooltipDataItemBinding",
					EnumValue = 7,
				},
				{
					n = "BindOnUse",
					t = "TooltipDataItemBinding",
					EnumValue = 8,
				},
				{
					n = "AccountUntilEquipped",
					t = "TooltipDataItemBinding",
					EnumValue = 9,
				},
				{
					n = "BindToAccountUntilEquipped",
					t = "TooltipDataItemBinding",
					EnumValue = 10,
				},
			},
			max = 10,
			min = 0,
			num = 11,
		},
		{
			n = "TooltipDataLineType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "TooltipDataLineType",
					EnumValue = 0,
				},
				{
					n = "Blank",
					t = "TooltipDataLineType",
					EnumValue = 1,
				},
				{
					n = "UnitName",
					t = "TooltipDataLineType",
					EnumValue = 2,
				},
				{
					n = "GemSocket",
					t = "TooltipDataLineType",
					EnumValue = 3,
				},
				{
					n = "AzeriteEssenceSlot",
					t = "TooltipDataLineType",
					EnumValue = 4,
				},
				{
					n = "AzeriteEssencePower",
					t = "TooltipDataLineType",
					EnumValue = 5,
				},
				{
					n = "LearnableSpell",
					t = "TooltipDataLineType",
					EnumValue = 6,
				},
				{
					n = "UnitThreat",
					t = "TooltipDataLineType",
					EnumValue = 7,
				},
				{
					n = "QuestObjective",
					t = "TooltipDataLineType",
					EnumValue = 8,
				},
				{
					n = "AzeriteItemPowerDescription",
					t = "TooltipDataLineType",
					EnumValue = 9,
				},
				{
					n = "RuneforgeLegendaryPowerDescription",
					t = "TooltipDataLineType",
					EnumValue = 10,
				},
				{
					n = "SellPrice",
					t = "TooltipDataLineType",
					EnumValue = 11,
				},
				{
					n = "ProfessionCraftingQuality",
					t = "TooltipDataLineType",
					EnumValue = 12,
				},
				{
					n = "SpellName",
					t = "TooltipDataLineType",
					EnumValue = 13,
				},
				{
					n = "CurrencyTotal",
					t = "TooltipDataLineType",
					EnumValue = 14,
				},
				{
					n = "ItemEnchantmentPermanent",
					t = "TooltipDataLineType",
					EnumValue = 15,
				},
				{
					n = "UnitOwner",
					t = "TooltipDataLineType",
					EnumValue = 16,
				},
				{
					n = "QuestTitle",
					t = "TooltipDataLineType",
					EnumValue = 17,
				},
				{
					n = "QuestPlayer",
					t = "TooltipDataLineType",
					EnumValue = 18,
				},
				{
					n = "NestedBlock",
					t = "TooltipDataLineType",
					EnumValue = 19,
				},
				{
					n = "ItemBinding",
					t = "TooltipDataLineType",
					EnumValue = 20,
				},
				{
					n = "EquipSlot",
					t = "TooltipDataLineType",
					EnumValue = 21,
				},
				{
					n = "ItemName",
					t = "TooltipDataLineType",
					EnumValue = 22,
				},
				{
					n = "Separator",
					t = "TooltipDataLineType",
					EnumValue = 23,
				},
				{
					n = "ToyName",
					t = "TooltipDataLineType",
					EnumValue = 24,
				},
				{
					n = "ToyText",
					t = "TooltipDataLineType",
					EnumValue = 25,
				},
				{
					n = "ToyEffect",
					t = "TooltipDataLineType",
					EnumValue = 26,
				},
				{
					n = "ToyDuration",
					t = "TooltipDataLineType",
					EnumValue = 27,
				},
				{
					n = "ToyDescription",
					t = "TooltipDataLineType",
					EnumValue = 28,
				},
				{
					n = "ToySource",
					t = "TooltipDataLineType",
					EnumValue = 29,
				},
				{
					n = "GemSocketEnchantment",
					t = "TooltipDataLineType",
					EnumValue = 30,
				},
				{
					n = "ItemLevel",
					t = "TooltipDataLineType",
					EnumValue = 31,
				},
				{
					n = "ItemUpgradeLevel",
					t = "TooltipDataLineType",
					EnumValue = 32,
				},
				{
					n = "SpellPassive",
					t = "TooltipDataLineType",
					EnumValue = 33,
				},
				{
					n = "SpellDescription",
					t = "TooltipDataLineType",
					EnumValue = 34,
				},
				{
					n = "ItemQuality",
					t = "TooltipDataLineType",
					EnumValue = 35,
				},
				{
					n = "TradeTimeRemaining",
					t = "TooltipDataLineType",
					EnumValue = 36,
				},
				{
					n = "FlavorText",
					t = "TooltipDataLineType",
					EnumValue = 37,
				},
				{
					n = "ItemSpellTriggerLearn",
					t = "TooltipDataLineType",
					EnumValue = 38,
				},
				{
					n = "LearnTransmogSet",
					t = "TooltipDataLineType",
					EnumValue = 39,
				},
				{
					n = "LearnTransmogIllusion",
					t = "TooltipDataLineType",
					EnumValue = 40,
				},
				{
					n = "ErrorLine",
					t = "TooltipDataLineType",
					EnumValue = 41,
				},
				{
					n = "DisabledLine",
					t = "TooltipDataLineType",
					EnumValue = 42,
				},
				{
					n = "UsageRequirement",
					t = "TooltipDataLineType",
					EnumValue = 43,
				},
			},
			max = 43,
			min = 0,
			num = 44,
		},
		{
			n = "TooltipDataType",
			k = "Enumeration",
			fields = {
				{
					n = "Item",
					t = "TooltipDataType",
					EnumValue = 0,
				},
				{
					n = "Spell",
					t = "TooltipDataType",
					EnumValue = 1,
				},
				{
					n = "Unit",
					t = "TooltipDataType",
					EnumValue = 2,
				},
				{
					n = "Corpse",
					t = "TooltipDataType",
					EnumValue = 3,
				},
				{
					n = "Object",
					t = "TooltipDataType",
					EnumValue = 4,
				},
				{
					n = "Currency",
					t = "TooltipDataType",
					EnumValue = 5,
				},
				{
					n = "BattlePet",
					t = "TooltipDataType",
					EnumValue = 6,
				},
				{
					n = "UnitAura",
					t = "TooltipDataType",
					EnumValue = 7,
				},
				{
					n = "AzeriteEssence",
					t = "TooltipDataType",
					EnumValue = 8,
				},
				{
					n = "CompanionPet",
					t = "TooltipDataType",
					EnumValue = 9,
				},
				{
					n = "Mount",
					t = "TooltipDataType",
					EnumValue = 10,
				},
				{
					n = "PetAction",
					t = "TooltipDataType",
					EnumValue = 11,
				},
				{
					n = "Achievement",
					t = "TooltipDataType",
					EnumValue = 12,
				},
				{
					n = "EnhancedConduit",
					t = "TooltipDataType",
					EnumValue = 13,
				},
				{
					n = "EquipmentSet",
					t = "TooltipDataType",
					EnumValue = 14,
				},
				{
					n = "InstanceLock",
					t = "TooltipDataType",
					EnumValue = 15,
				},
				{
					n = "PvPBrawl",
					t = "TooltipDataType",
					EnumValue = 16,
				},
				{
					n = "RecipeRankInfo",
					t = "TooltipDataType",
					EnumValue = 17,
				},
				{
					n = "Totem",
					t = "TooltipDataType",
					EnumValue = 18,
				},
				{
					n = "Toy",
					t = "TooltipDataType",
					EnumValue = 19,
				},
				{
					n = "CorruptionCleanser",
					t = "TooltipDataType",
					EnumValue = 20,
				},
				{
					n = "MinimapMouseover",
					t = "TooltipDataType",
					EnumValue = 21,
				},
				{
					n = "Flyout",
					t = "TooltipDataType",
					EnumValue = 22,
				},
				{
					n = "Quest",
					t = "TooltipDataType",
					EnumValue = 23,
				},
				{
					n = "QuestPartyProgress",
					t = "TooltipDataType",
					EnumValue = 24,
				},
				{
					n = "Macro",
					t = "TooltipDataType",
					EnumValue = 25,
				},
				{
					n = "Debug",
					t = "TooltipDataType",
					EnumValue = 26,
				},
				{
					n = "Outfit",
					t = "TooltipDataType",
					EnumValue = 27,
				},
			},
			max = 27,
			min = 0,
			num = 28,
		},
		{
			n = "TooltipDataUsageRequirementType",
			k = "Enumeration",
			fields = {
				{
					n = "RaceClass",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 0,
				},
				{
					n = "Faction",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 1,
				},
				{
					n = "Skill",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 2,
				},
				{
					n = "PvPMedal",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 3,
				},
				{
					n = "Reputation",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 4,
				},
				{
					n = "Level",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 5,
				},
				{
					n = "Guild",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 6,
				},
				{
					n = "Achievement",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 7,
				},
				{
					n = "PvPRank",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 8,
				},
				{
					n = "EquippedItem",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 9,
				},
				{
					n = "ShapeshiftForm",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 10,
				},
				{
					n = "ArenaRating",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 11,
				},
				{
					n = "EarnCurrency",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 12,
				},
				{
					n = "Specialization",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 13,
				},
				{
					n = "NotAlreadyKnown",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 14,
				},
				{
					n = "NotInArena",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 15,
				},
				{
					n = "NotInRatedBg",
					t = "TooltipDataUsageRequirementType",
					EnumValue = 16,
				},
			},
			max = 16,
			min = 0,
			num = 17,
		},
		{
			n = "TooltipComparisonLine",
			k = "Structure",
			fields = {
				{
					n = "text",
					t = "string",
					nilable = false,
				},
				{
					n = "color",
					t = "colorRGB",
					nilable = false,
					mix = "ColorMixin",
				},
			},
		},
		{
			n = "TooltipDataArg",
			k = "Structure",
			fields = {
				{
					n = "field",
					t = "string",
					nilable = false,
				},
				{
					n = "stringVal",
					t = "string",
					nilable = true,
				},
				{
					n = "intVal",
					t = "number",
					nilable = true,
				},
				{
					n = "floatVal",
					t = "number",
					nilable = true,
				},
				{
					n = "boolVal",
					t = "bool",
					nilable = true,
				},
				{
					n = "colorVal",
					t = "colorRGB",
					nilable = true,
					mix = "ColorMixin",
				},
				{
					n = "guidVal",
					t = "WOWGUID",
					nilable = true,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "Totem",
	type = "System",
	ns = "",
	env = "All",
	file = "TotemDocumentation.lua",
	hash = "79708776f88be60c34f2f68d526e5c88f91bb1eac5388bc9aabbc5a84e4b1475",
	functions = {
		{
			n = "DestroyTotem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
		},
		{
			n = "GetNumTotemSlots",
			k = "Function",
			rets = {
				{
					n = "numSlots",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetTotemCannotDismiss",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "cannotDismiss",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "GetTotemDuration",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "duration",
					t = "LuaDurationObject",
					nilable = false,
				},
			},
		},
		{
			n = "GetTotemInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "haveTotem",
					t = "bool",
					nilable = false,
				},
				{
					n = "totemName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "startTime",
					t = "number",
					nilable = false,
				},
				{
					n = "duration",
					t = "number",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "modRate",
					t = "number",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
			},
			SecretWhenTotemSlotSecret = true,
			mayReturnNothing = true,
		},
		{
			n = "GetTotemTimeLeft",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "timeLeft",
					t = "number",
					nilable = true,
				},
			},
			SecretWhenTotemSlotSecret = true,
		},
		{
			n = "TargetTotem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
		},
	},
	tables = {
		{
			n = "TotemInfoScript",
			k = "Structure",
			fields = {
				{
					n = "haveTotem",
					t = "bool",
					nilable = false,
				},
				{
					n = "totemName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "startTime",
					t = "number",
					nilable = false,
				},
				{
					n = "duration",
					t = "number",
					nilable = false,
				},
				{
					n = "icon",
					t = "fileID",
					nilable = false,
				},
				{
					n = "modRate",
					t = "number",
					nilable = false,
				},
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "ToyBoxInfo",
	type = "System",
	ns = "C_ToyBoxInfo",
	env = "All",
	file = "ToyBoxInfoDocumentation.lua",
	hash = "63c072567a3c44d467cc20b2b2f8396d7314402289adee6a75fd0a8b76851543",
	functions = {
		{
			n = "ClearFanfare",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "IsToySourceValid",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "source",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isToySourceValid",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsUsingDefaultFilters",
			k = "Function",
			rets = {
				{
					n = "isUsingDefaultFilters",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "NeedsFanfare",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "needsFanfare",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetDefaultFilters",
			k = "Function",
		},
	},
	events = {
		{
			n = "NewToyAdded",
			k = "Event",
			payload = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "NEW_TOY_ADDED",
		},
		{
			n = "ToysUpdated",
			k = "Event",
			payload = {
				{
					n = "itemID",
					t = "number",
					nilable = true,
				},
				{
					n = "isNew",
					t = "bool",
					nilable = true,
				},
				{
					n = "hasFanfare",
					t = "bool",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "TOYS_UPDATED",
			unique = true,
		},
	},
}
systems[#systems + 1] = {
	name = "TradeInfo",
	type = "System",
	ns = "C_TradeInfo",
	env = "All",
	file = "TradeInfoDocumentation.lua",
	hash = "87ad3845f6a90efd81e3286c9996340b9bd3f3acf8135af5eaf1b0c1af9ca1d6",
	functions = {
		{
			n = "AddTradeMoney",
			k = "Function",
			doc = {
				"Adds any cursor-held money to the current trade offer.",
			},
			HasRestrictions = true,
		},
		{
			n = "PickupTradeMoney",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "amount",
					t = "WOWMONEY",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "SetTradeMoney",
			k = "Function",
			doc = {
				"Sets the amount of money in the current trade offer.",
			},
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "amount",
					t = "WOWMONEY",
					nilable = false,
				},
			},
			HasRestrictions = true,
		},
		{
			n = "ShouldShowTradeOfferWarning",
			k = "Function",
			rets = {
				{
					n = "shouldShow",
					t = "bool",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "PlayerTradeCurrency",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_TRADE_CURRENCY",
		},
		{
			n = "PlayerTradeMoney",
			k = "Event",
			SynchronousEvent = true,
			literal = "PLAYER_TRADE_MONEY",
		},
		{
			n = "TradeAcceptUpdate",
			k = "Event",
			payload = {
				{
					n = "playerAccepted",
					t = "number",
					nilable = false,
				},
				{
					n = "targetAccepted",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_ACCEPT_UPDATE",
		},
		{
			n = "TradeClosed",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRADE_CLOSED",
		},
		{
			n = "TradeCurrencyChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRADE_CURRENCY_CHANGED",
		},
		{
			n = "TradeMoneyChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRADE_MONEY_CHANGED",
		},
		{
			n = "TradePlayerItemChanged",
			k = "Event",
			payload = {
				{
					n = "tradeSlotIndex",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_PLAYER_ITEM_CHANGED",
		},
		{
			n = "TradePotentialBindEnchant",
			k = "Event",
			payload = {
				{
					n = "canBecomeBoundForTrade",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_POTENTIAL_BIND_ENCHANT",
		},
		{
			n = "TradePotentialRemoveTransmog",
			k = "Event",
			payload = {
				{
					n = "itemLink",
					t = "cstring",
					nilable = false,
				},
				{
					n = "tradeSlotIndex",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_POTENTIAL_REMOVE_TRANSMOG",
		},
		{
			n = "TradeRequest",
			k = "Event",
			payload = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_REQUEST",
		},
		{
			n = "TradeRequestCancel",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRADE_REQUEST_CANCEL",
		},
		{
			n = "TradeShow",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRADE_SHOW",
		},
		{
			n = "TradeTargetItemChanged",
			k = "Event",
			payload = {
				{
					n = "tradeSlotIndex",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_TARGET_ITEM_CHANGED",
		},
		{
			n = "TradeUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRADE_UPDATE",
		},
		{
			n = "TradeUpdateWarnings",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRADE_UPDATE_WARNINGS",
		},
	},
}
systems[#systems + 1] = {
	name = "TradeSkillUI",
	type = "System",
	ns = "C_TradeSkillUI",
	env = "All",
	file = "TradeSkillUIDocumentation.lua",
	hash = "5d935d1e14bbc63f9d16b06ef53437fd8b6820ed495a04de3b8884f5008c5375",
	functions = {
		{
			n = "CanStoreEnchantInItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "canStore",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CancelProfessionRespec",
			k = "Function",
		},
		{
			n = "CheckRespecNPC",
			k = "Function",
			rets = {
				{
					n = "canInteract",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CloseTradeSkill",
			k = "Function",
		},
		{
			n = "ConfirmProfessionRespec",
			k = "Function",
		},
		{
			n = "CraftEnchant",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "numCasts",
					t = "number",
					nilable = false,
					def = 1,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = true,
					it = "CraftingReagentInfo",
				},
				{
					n = "itemTarget",
					t = "ItemLocation",
					nilable = true,
					mix = "ItemLocationMixin",
				},
				{
					n = "applyConcentration",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "CraftRecipe",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "numCasts",
					t = "number",
					nilable = false,
					def = 1,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = true,
					it = "CraftingReagentInfo",
				},
				{
					n = "recipeLevel",
					t = "luaIndex",
					nilable = true,
				},
				{
					n = "orderID",
					t = "BigUInteger",
					nilable = true,
				},
				{
					n = "applyConcentration",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "CraftSalvage",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "numCasts",
					t = "number",
					nilable = false,
					def = 1,
				},
				{
					n = "itemTarget",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = true,
					it = "CraftingReagentInfo",
				},
				{
					n = "applyConcentration",
					t = "bool",
					nilable = true,
				},
			},
		},
		{
			n = "DoesRecraftingRecipeAcceptItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemLocation",
					t = "ItemLocation",
					nilable = false,
					mix = "ItemLocationMixin",
				},
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "GetAllProfessionTradeSkillLines",
			k = "Function",
			rets = {
				{
					n = "skillLineID",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetBaseProfessionInfo",
			k = "Function",
			rets = {
				{
					n = "info",
					t = "ProfessionInfo",
					nilable = false,
				},
			},
		},
		{
			n = "GetChildProfessionInfo",
			k = "Function",
			rets = {
				{
					n = "info",
					t = "ProfessionInfo",
					nilable = false,
				},
			},
		},
		{
			n = "GetChildProfessionInfos",
			k = "Function",
			rets = {
				{
					n = "infos",
					t = "table",
					nilable = false,
					it = "ProfessionInfo",
				},
			},
		},
		{
			n = "GetConcentrationCurrencyID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "skillLineID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "currencyType",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetCraftableCount",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "recipeLevel",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "numAvailable",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetCraftingOperationInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = false,
					it = "CraftingReagentInfo",
				},
				{
					n = "allocationItemGUID",
					t = "WOWGUID",
					nilable = true,
				},
				{
					n = "applyConcentration",
					t = "bool",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "CraftingOperationInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCraftingOperationInfoForOrder",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = false,
					it = "CraftingReagentInfo",
				},
				{
					n = "orderID",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "applyConcentration",
					t = "bool",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "CraftingOperationInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetCraftingReagentBonusText",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "craftingReagentIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = false,
					it = "CraftingReagentInfo",
				},
				{
					n = "allocationItemGUID",
					t = "WOWGUID",
					nilable = true,
				},
			},
			rets = {
				{
					n = "bonusText",
					t = "table",
					nilable = false,
					it = "string",
				},
			},
		},
		{
			n = "GetCraftingTargetItems",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
			rets = {
				{
					n = "items",
					t = "table",
					nilable = false,
					it = "CraftingTargetItem",
				},
			},
		},
		{
			n = "GetDependentReagents",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "reagent",
					t = "CraftingReagent",
					nilable = false,
				},
			},
			rets = {
				{
					n = "reagents",
					t = "table",
					nilable = false,
					it = "CraftingReagent",
				},
			},
		},
		{
			n = "GetEnchantItems",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = true,
					it = "CraftingReagentInfo",
				},
			},
			rets = {
				{
					n = "items",
					t = "table",
					nilable = false,
					it = "WOWGUID",
				},
			},
		},
		{
			n = "GetFactionSpecificOutputItem",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "itemID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetGatheringOperationInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "GatheringOperationInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetHideUnownedFlags",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "cannotModifyHideUnowned",
					t = "bool",
					nilable = false,
				},
				{
					n = "alwaysShowUnowned",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "GetItemCraftedQualityByItemInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemInfo",
					t = "ItemInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "quality",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetItemCraftedQualityInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemInfo",
					t = "ItemInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "CraftingQualityInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetItemReagentQualityByItemInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemInfo",
					t = "ItemInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "quality",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetItemReagentQualityInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemInfo",
					t = "ItemInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "CraftingQualityInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetItemSlotModifications",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "slotMods",
					t = "table",
					nilable = false,
					it = "CraftingItemSlotModification",
				},
			},
		},
		{
			n = "GetItemSlotModificationsForOrder",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "orderID",
					t = "BigUInteger",
					nilable = false,
				},
			},
			rets = {
				{
					n = "slotMods",
					t = "table",
					nilable = false,
					it = "CraftingItemSlotModification",
				},
			},
		},
		{
			n = "GetOriginalCraftRecipeID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "recipeID",
					t = "number",
					nilable = true,
				},
				{
					n = "skillLineAbilityID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetProfessionByInventorySlot",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "slot",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "profession",
					t = "Profession",
					nilable = true,
				},
			},
		},
		{
			n = "GetProfessionChildSkillLineID",
			k = "Function",
			rets = {
				{
					n = "skillLineID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetProfessionForCursorItem",
			k = "Function",
			rets = {
				{
					n = "profession",
					t = "Profession",
					nilable = true,
				},
			},
		},
		{
			n = "GetProfessionInfoByRecipeID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "ProfessionInfo",
					nilable = false,
				},
			},
		},
		{
			n = "GetProfessionInfoBySkillLineID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "skillLineID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "ProfessionInfo",
					nilable = false,
				},
			},
		},
		{
			n = "GetProfessionInventorySlots",
			k = "Function",
			rets = {
				{
					n = "invSlots",
					t = "table",
					nilable = false,
					it = "InventorySlots",
				},
			},
		},
		{
			n = "GetProfessionNameForSkillLineAbility",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "skillLineAbilityID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "professionNmae",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "GetProfessionSkillLineID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "profession",
					t = "Profession",
					nilable = false,
				},
			},
			rets = {
				{
					n = "skillLineID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetProfessionSlots",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "profession",
					t = "Profession",
					nilable = false,
				},
			},
			rets = {
				{
					n = "slots",
					t = "table",
					nilable = false,
					it = "luaIndex",
				},
			},
		},
		{
			n = "GetProfessionSpells",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "professionID",
					t = "number",
					nilable = false,
				},
				{
					n = "skillLineID",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "knownSpells",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetQualitiesForRecipe",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "qualityIDs",
					t = "table",
					nilable = true,
					it = "number",
				},
			},
		},
		{
			n = "GetReagentDifficultyText",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "craftingReagentIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = false,
					it = "CraftingReagentInfo",
				},
			},
			rets = {
				{
					n = "bonusText",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "GetReagentSlotStatus",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "mcrSlotID",
					t = "number",
					nilable = false,
				},
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "skillLineAbilityID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "locked",
					t = "bool",
					nilable = false,
				},
				{
					n = "lockedReason",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "GetRecipeDescription",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = false,
					it = "CraftingReagentInfo",
				},
				{
					n = "allocationItemGUID",
					t = "WOWGUID",
					nilable = true,
				},
			},
			rets = {
				{
					n = "description",
					t = "string",
					nilable = false,
				},
			},
		},
		{
			n = "GetRecipeInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "recipeLevel",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "recipeInfo",
					t = "TradeSkillRecipeInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetRecipeInfoForSkillLineAbility",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "skillLineAbilityID",
					t = "number",
					nilable = false,
				},
				{
					n = "recipeLevel",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "recipeInfo",
					t = "TradeSkillRecipeInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetRecipeItemQualityInfo",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "quality",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "info",
					t = "CraftingQualityInfo",
					nilable = true,
				},
			},
		},
		{
			n = "GetRecipeOutputItemData",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "reagents",
					t = "table",
					nilable = true,
					it = "CraftingReagentInfo",
				},
				{
					n = "allocationItemGUID",
					t = "WOWGUID",
					nilable = true,
				},
				{
					n = "overrideQualityID",
					t = "number",
					nilable = true,
				},
				{
					n = "recraftOrderID",
					t = "BigUInteger",
					nilable = true,
				},
			},
			rets = {
				{
					n = "outputInfo",
					t = "CraftingRecipeOutputInfo",
					nilable = false,
				},
			},
		},
		{
			n = "GetRecipeQualityItemIDs",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "qualityItemIDs",
					t = "table",
					nilable = true,
					it = "number",
				},
			},
		},
		{
			n = "GetRecipeQualityReagentLink",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "dataSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "qualityIndex",
					t = "luaIndex",
					nilable = false,
				},
			},
			rets = {
				{
					n = "link",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "GetRecipeRequirements",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "requirements",
					t = "table",
					nilable = false,
					it = "CraftingRecipeRequirement",
				},
			},
		},
		{
			n = "GetRecipeSchematic",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
				{
					n = "isRecraft",
					t = "bool",
					nilable = false,
				},
				{
					n = "recipeLevel",
					t = "luaIndex",
					nilable = true,
				},
			},
			rets = {
				{
					n = "schematic",
					t = "CraftingRecipeSchematic",
					nilable = false,
				},
			},
		},
		{
			n = "GetRecipesTracked",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "isRecraft",
					t = "bool",
					nilable = false,
				},
			},
			rets = {
				{
					n = "recipeIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetRecraftItems",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = true,
				},
			},
			rets = {
				{
					n = "items",
					t = "table",
					nilable = false,
					it = "WOWGUID",
				},
			},
		},
		{
			n = "GetRecraftRemovalWarnings",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "replacedReagents",
					t = "table",
					nilable = false,
					it = "CraftingReagent",
				},
			},
			rets = {
				{
					n = "warnings",
					t = "table",
					nilable = false,
					it = "cstring",
				},
			},
		},
		{
			n = "GetRemainingRecasts",
			k = "Function",
			rets = {
				{
					n = "remaining",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetSalvagableItemIDs",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "itemIDs",
					t = "table",
					nilable = false,
					it = "number",
				},
			},
		},
		{
			n = "GetShowLearned",
			k = "Function",
			rets = {
				{
					n = "flag",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "GetShowUnlearned",
			k = "Function",
			rets = {
				{
					n = "flag",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "GetSkillLineForGear",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemInfo",
					t = "ItemInfo",
					nilable = false,
				},
			},
			rets = {
				{
					n = "skillLineID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "GetSourceTypeFilter",
			k = "Function",
			rets = {
				{
					n = "sourceTypeFilter",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GetTradeSkillDisplayName",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "skillLineID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "professionDisplayName",
					t = "cstring",
					nilable = false,
				},
			},
		},
		{
			n = "HasFavoriteOrderRecipes",
			k = "Function",
			rets = {
				{
					n = "hasFavorites",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsEnchantTargetValid",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = true,
					it = "CraftingReagentInfo",
				},
			},
			rets = {
				{
					n = "valid",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsGuildTradeSkillsEnabled",
			k = "Function",
			rets = {
				{
					n = "enabled",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsNPCCrafting",
			k = "Function",
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsNearProfessionSpellFocus",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "profession",
					t = "Profession",
					nilable = false,
				},
			},
			rets = {
				{
					n = "nearFocus",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsOriginalCraftRecipeLearned",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "learned",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsRecipeFirstCraft",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsRecipeInBaseSkillLine",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsRecipeInSkillLine",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "skillLineID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsRecipeProfessionLearned",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "recipeProfessionLearned",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsRecipeTracked",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "isRecraft",
					t = "bool",
					nilable = false,
				},
			},
			rets = {
				{
					n = "tracked",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsRecraftItemEquipped",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recraftItemGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			rets = {
				{
					n = "isEquipped",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsRecraftReagentValid",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "reagent",
					t = "CraftingReagent",
					nilable = false,
				},
			},
			rets = {
				{
					n = "valid",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "IsRuneforging",
			k = "Function",
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "OpenRecipe",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "OpenTradeSkill",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "skillLineID",
					t = "number",
					nilable = false,
				},
			},
			rets = {
				{
					n = "opened",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RecraftLimitCategoryValid",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "reagent",
					t = "CraftingReagent",
					nilable = false,
				},
			},
			rets = {
				{
					n = "recraftValid",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RecraftRecipe",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = true,
					it = "CraftingReagentInfo",
				},
				{
					n = "removedModifications",
					t = "table",
					nilable = true,
					it = "CraftingItemSlotModification",
				},
				{
					n = "applyConcentration",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "RecraftRecipeForOrder",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "orderID",
					t = "BigUInteger",
					nilable = false,
				},
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "craftingReagents",
					t = "table",
					nilable = true,
					it = "CraftingReagentInfo",
				},
				{
					n = "removedModifications",
					t = "table",
					nilable = true,
					it = "CraftingItemSlotModification",
				},
				{
					n = "applyConcentration",
					t = "bool",
					nilable = true,
				},
			},
			rets = {
				{
					n = "result",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetOnlyShowAvailableForOrders",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "flag",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetProfessionChildSkillLineID",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "skillLineID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "SetRecipeTracked",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "tracked",
					t = "bool",
					nilable = false,
				},
				{
					n = "isRecraft",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetShowLearned",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "flag",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetShowUnlearned",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "flag",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "SetSourceTypeFilter",
			k = "Function",
			sec = "AllowedWhenUntainted",
			args = {
				{
					n = "sourceTypeFilter",
					t = "number",
					nilable = false,
				},
			},
		},
	},
	events = {
		{
			n = "CraftingDetailsUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "CRAFTING_DETAILS_UPDATE",
		},
		{
			n = "NewRecipeLearned",
			k = "Event",
			payload = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "recipeLevel",
					t = "luaIndex",
					nilable = true,
				},
				{
					n = "baseRecipeID",
					t = "number",
					nilable = true,
				},
			},
			SynchronousEvent = true,
			literal = "NEW_RECIPE_LEARNED",
		},
		{
			n = "ObliterumForgePendingItemChanged",
			k = "Event",
			SynchronousEvent = true,
			literal = "OBLITERUM_FORGE_PENDING_ITEM_CHANGED",
		},
		{
			n = "OpenRecipeResponse",
			k = "Event",
			payload = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "skillLineID",
					t = "number",
					nilable = false,
				},
				{
					n = "expansionSkillLineID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "OPEN_RECIPE_RESPONSE",
		},
		{
			n = "ProfessionRespecConfirmation",
			k = "Event",
			payload = {
				{
					n = "skillName",
					t = "cstring",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "PROFESSION_RESPEC_CONFIRMATION",
		},
		{
			n = "TrackedRecipeUpdate",
			k = "Event",
			payload = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "tracked",
					t = "bool",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRACKED_RECIPE_UPDATE",
		},
		{
			n = "TradeSkillClose",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRADE_SKILL_CLOSE",
		},
		{
			n = "TradeSkillCraftBegin",
			k = "Event",
			payload = {
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_SKILL_CRAFT_BEGIN",
		},
		{
			n = "TradeSkillCraftingReagentBonusTextUpdated",
			k = "Event",
			payload = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_SKILL_CRAFTING_REAGENT_BONUS_TEXT_UPDATED",
		},
		{
			n = "TradeSkillCurrencyRewardResult",
			k = "Event",
			payload = {
				{
					n = "data",
					t = "CraftingCurrencyResultData",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_SKILL_CURRENCY_REWARD_RESULT",
		},
		{
			n = "TradeSkillDataSourceChanged",
			k = "Event",
			literal = "TRADE_SKILL_DATA_SOURCE_CHANGED",
			unique = true,
		},
		{
			n = "TradeSkillDataSourceChanging",
			k = "Event",
			literal = "TRADE_SKILL_DATA_SOURCE_CHANGING",
			unique = true,
		},
		{
			n = "TradeSkillDetailsUpdate",
			k = "Event",
			literal = "TRADE_SKILL_DETAILS_UPDATE",
			unique = true,
		},
		{
			n = "TradeSkillFavoritesChanged",
			k = "Event",
			payload = {
				{
					n = "isFavorite",
					t = "bool",
					nilable = false,
				},
				{
					n = "recipeSpellID",
					t = "number",
					nilable = false,
				},
			},
			literal = "TRADE_SKILL_FAVORITES_CHANGED",
			unique = true,
		},
		{
			n = "TradeSkillItemCraftedResult",
			k = "Event",
			payload = {
				{
					n = "data",
					t = "CraftingItemResultData",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_SKILL_ITEM_CRAFTED_RESULT",
		},
		{
			n = "TradeSkillItemUpdate",
			k = "Event",
			payload = {
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
			},
			SynchronousEvent = true,
			literal = "TRADE_SKILL_ITEM_UPDATE",
		},
		{
			n = "TradeSkillListUpdate",
			k = "Event",
			literal = "TRADE_SKILL_LIST_UPDATE",
			unique = true,
		},
		{
			n = "TradeSkillNameUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRADE_SKILL_NAME_UPDATE",
		},
		{
			n = "TradeSkillShow",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRADE_SKILL_SHOW",
		},
		{
			n = "UpdateTradeskillCastStopped",
			k = "Event",
			payload = {
				{
					n = "isScrapping",
					t = "bool",
					nilable = false,
				},
			},
			literal = "UPDATE_TRADESKILL_CAST_STOPPED",
			unique = true,
		},
	},
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "TradeSkillUITypesDocumentation.lua",
	hash = "03008dccf48ef10ccdc749514050233dd5c47b98bbb60ad31462ea358a11fdaa",
	tables = {
		{
			n = "CraftingReagentItemFlag",
			k = "Enumeration",
			fields = {
				{
					n = "TooltipShowsAsStatModifications",
					t = "CraftingReagentItemFlag",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 1,
			num = 1,
		},
		{
			n = "RecipeRequirementType",
			k = "Enumeration",
			fields = {
				{
					n = "SpellFocus",
					t = "RecipeRequirementType",
					EnumValue = 0,
				},
				{
					n = "Totem",
					t = "RecipeRequirementType",
					EnumValue = 1,
				},
				{
					n = "Area",
					t = "RecipeRequirementType",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 0,
			num = 3,
		},
		{
			n = "TradeskillOrderDuration",
			k = "Enumeration",
			fields = {
				{
					n = "Short",
					t = "TradeskillOrderDuration",
					EnumValue = 1,
				},
				{
					n = "Medium",
					t = "TradeskillOrderDuration",
					EnumValue = 2,
				},
				{
					n = "Long",
					t = "TradeskillOrderDuration",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 1,
			num = 3,
		},
		{
			n = "TradeskillOrderRecipient",
			k = "Enumeration",
			fields = {
				{
					n = "Public",
					t = "TradeskillOrderRecipient",
					EnumValue = 1,
				},
				{
					n = "Guild",
					t = "TradeskillOrderRecipient",
					EnumValue = 2,
				},
				{
					n = "Private",
					t = "TradeskillOrderRecipient",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 1,
			num = 3,
		},
		{
			n = "TradeskillOrderStatus",
			k = "Enumeration",
			fields = {
				{
					n = "Unclaimed",
					t = "TradeskillOrderStatus",
					EnumValue = 1,
				},
				{
					n = "Started",
					t = "TradeskillOrderStatus",
					EnumValue = 2,
				},
				{
					n = "Completed",
					t = "TradeskillOrderStatus",
					EnumValue = 3,
				},
				{
					n = "Expired",
					t = "TradeskillOrderStatus",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 1,
			num = 4,
		},
		{
			n = "TradeskillRecipeType",
			k = "Enumeration",
			fields = {
				{
					n = "Item",
					t = "TradeskillRecipeType",
					EnumValue = 1,
				},
				{
					n = "Salvage",
					t = "TradeskillRecipeType",
					EnumValue = 2,
				},
				{
					n = "Enchant",
					t = "TradeskillRecipeType",
					EnumValue = 3,
				},
				{
					n = "Gathering",
					t = "TradeskillRecipeType",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 1,
			num = 4,
		},
		{
			n = "TradeskillRelativeDifficulty",
			k = "Enumeration",
			fields = {
				{
					n = "Optimal",
					t = "TradeskillRelativeDifficulty",
					EnumValue = 0,
				},
				{
					n = "Medium",
					t = "TradeskillRelativeDifficulty",
					EnumValue = 1,
				},
				{
					n = "Easy",
					t = "TradeskillRelativeDifficulty",
					EnumValue = 2,
				},
				{
					n = "Trivial",
					t = "TradeskillRelativeDifficulty",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "TradeskillSlotDataType",
			k = "Enumeration",
			fields = {
				{
					n = "Reagent",
					t = "TradeskillSlotDataType",
					EnumValue = 1,
				},
				{
					n = "ModifiedReagent",
					t = "TradeskillSlotDataType",
					EnumValue = 2,
				},
				{
					n = "Currency",
					t = "TradeskillSlotDataType",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 1,
			num = 3,
		},
		{
			n = "CraftingCurrencyResultData",
			k = "Structure",
			fields = {
				{
					n = "currencyID",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "operationID",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "firstCraftReward",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "showCurrencyText",
					t = "bool",
					nilable = false,
					def = true,
				},
			},
		},
		{
			n = "CraftingItemResultData",
			k = "Structure",
			fields = {
				{
					n = "resourcesReturned",
					t = "table",
					nilable = true,
					it = "CraftingResourceReturnInfo",
				},
				{
					n = "craftingQuality",
					t = "number",
					nilable = true,
				},
				{
					n = "qualityProgress",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "itemID",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "hyperlink",
					t = "string",
					nilable = false,
				},
				{
					n = "isCrit",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "critBonusSkill",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "recraftable",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "bonusCraft",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "multicraft",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "operationID",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "firstCraftReward",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "isEnchant",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "hasIngenuityProc",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "concentrationCurrencyID",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "concentrationSpent",
					t = "number",
					nilable = false,
					def = 0,
				},
				{
					n = "ingenuityRefund",
					t = "number",
					nilable = false,
					def = 0,
				},
			},
		},
		{
			n = "CraftingItemSlotModification",
			k = "Structure",
			fields = {
				{
					n = "dataSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "reagent",
					t = "CraftingReagent",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingOperationBonusStatInfo",
			k = "Structure",
			fields = {
				{
					n = "bonusStatName",
					t = "string",
					nilable = false,
				},
				{
					n = "bonusStatValue",
					t = "number",
					nilable = false,
				},
				{
					n = "ratingDescription",
					t = "string",
					nilable = false,
				},
				{
					n = "ratingPct",
					t = "number",
					nilable = false,
				},
				{
					n = "bonusRatingPct",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingOperationInfo",
			k = "Structure",
			fields = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "baseDifficulty",
					t = "number",
					nilable = false,
				},
				{
					n = "bonusDifficulty",
					t = "number",
					nilable = false,
				},
				{
					n = "baseSkill",
					t = "number",
					nilable = false,
				},
				{
					n = "bonusSkill",
					t = "number",
					nilable = false,
				},
				{
					n = "isQualityCraft",
					t = "bool",
					nilable = false,
				},
				{
					n = "quality",
					t = "number",
					nilable = false,
				},
				{
					n = "craftingQuality",
					t = "number",
					nilable = false,
				},
				{
					n = "craftingQualityID",
					t = "number",
					nilable = false,
				},
				{
					n = "craftingDataID",
					t = "number",
					nilable = false,
				},
				{
					n = "lowerSkillThreshold",
					t = "number",
					nilable = false,
				},
				{
					n = "upperSkillTreshold",
					t = "number",
					nilable = false,
				},
				{
					n = "guaranteedCraftingQualityID",
					t = "number",
					nilable = false,
				},
				{
					n = "bonusStats",
					t = "table",
					nilable = false,
					it = "CraftingOperationBonusStatInfo",
				},
				{
					n = "concentrationCurrencyID",
					t = "number",
					nilable = false,
				},
				{
					n = "concentrationCost",
					t = "number",
					nilable = false,
				},
				{
					n = "ingenuityRefund",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingQualityInfo",
			k = "Structure",
			fields = {
				{
					n = "quality",
					t = "number",
					nilable = false,
				},
				{
					n = "icon",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "iconSmall",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "iconInventory",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "iconMixed",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "iconAppear",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "iconDissolve",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "barFill",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "barBackground",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "barBackgroundCap",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "barHighlight",
					t = "textureAtlas",
					nilable = false,
				},
				{
					n = "iconChat",
					t = "textureAtlas",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingReagent",
			k = "Structure",
			fields = {
				{
					n = "itemID",
					t = "number",
					nilable = true,
				},
				{
					n = "currencyID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "CraftingReagentInfo",
			k = "Structure",
			fields = {
				{
					n = "reagent",
					t = "CraftingReagent",
					nilable = false,
				},
				{
					n = "dataSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingReagentSlotInfo",
			k = "Structure",
			fields = {
				{
					n = "mcrSlotID",
					t = "number",
					nilable = false,
				},
				{
					n = "requiredSkillRank",
					t = "number",
					nilable = false,
				},
				{
					n = "slotText",
					t = "cstring",
					nilable = true,
				},
			},
		},
		{
			n = "CraftingReagentSlotSchematic",
			k = "Structure",
			fields = {
				{
					n = "reagents",
					t = "table",
					nilable = false,
					it = "CraftingReagent",
				},
				{
					n = "reagentType",
					t = "CraftingReagentType",
					nilable = false,
				},
				{
					n = "variableQuantities",
					t = "table",
					nilable = false,
					it = "CraftingVariableQuantities",
				},
				{
					n = "quantityRequired",
					t = "number",
					nilable = false,
				},
				{
					n = "slotInfo",
					t = "CraftingReagentSlotInfo",
					nilable = true,
				},
				{
					n = "dataSlotType",
					t = "TradeskillSlotDataType",
					nilable = false,
					def = "Reagent",
				},
				{
					n = "dataSlotIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "slotIndex",
					t = "luaIndex",
					nilable = false,
				},
				{
					n = "orderSource",
					t = "CraftingOrderReagentSource",
					nilable = true,
				},
				{
					n = "required",
					t = "bool",
					nilable = false,
				},
				{
					n = "hiddenInCraftingForm",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingRecipeOutputInfo",
			k = "Structure",
			fields = {
				{
					n = "icon",
					t = "number",
					nilable = false,
				},
				{
					n = "hyperlink",
					t = "cstring",
					nilable = true,
				},
				{
					n = "itemID",
					t = "number",
					nilable = true,
				},
			},
		},
		{
			n = "CraftingRecipeRequirement",
			k = "Structure",
			fields = {
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "met",
					t = "bool",
					nilable = false,
				},
				{
					n = "type",
					t = "RecipeRequirementType",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingRecipeSchematic",
			k = "Structure",
			fields = {
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "icon",
					t = "number",
					nilable = false,
				},
				{
					n = "quantityMin",
					t = "number",
					nilable = false,
				},
				{
					n = "quantityMax",
					t = "number",
					nilable = false,
				},
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "recipeType",
					t = "TradeskillRecipeType",
					nilable = false,
					def = "Item",
				},
				{
					n = "productQuality",
					t = "number",
					nilable = true,
				},
				{
					n = "outputItemID",
					t = "number",
					nilable = true,
				},
				{
					n = "reagentSlotSchematics",
					t = "table",
					nilable = false,
					it = "CraftingReagentSlotSchematic",
				},
				{
					n = "isRecraft",
					t = "bool",
					nilable = false,
				},
				{
					n = "hasCraftingOperationInfo",
					t = "bool",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingRecipeSkillLineInfo",
			k = "Structure",
			fields = {
				{
					n = "professionSkillLineID",
					t = "number",
					nilable = false,
				},
				{
					n = "expansionSkillLineID",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingResourceReturnInfo",
			k = "Structure",
			fields = {
				{
					n = "reagent",
					t = "CraftingReagent",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingTargetItem",
			k = "Structure",
			fields = {
				{
					n = "itemID",
					t = "number",
					nilable = false,
				},
				{
					n = "itemGUID",
					t = "WOWGUID",
					nilable = false,
				},
				{
					n = "hyperlink",
					t = "string",
					nilable = true,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "CraftingVariableQuantities",
			k = "Structure",
			fields = {
				{
					n = "reagent",
					t = "CraftingReagent",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GatheringOperationBonusStatInfo",
			k = "Structure",
			fields = {
				{
					n = "bonusStatName",
					t = "string",
					nilable = false,
				},
				{
					n = "bonusStatValue",
					t = "number",
					nilable = false,
				},
				{
					n = "ratingDescription",
					t = "string",
					nilable = false,
				},
				{
					n = "ratingPct",
					t = "number",
					nilable = false,
				},
				{
					n = "bonusRatingPct",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "GatheringOperationInfo",
			k = "Structure",
			fields = {
				{
					n = "spellID",
					t = "number",
					nilable = false,
				},
				{
					n = "maxDifficulty",
					t = "number",
					nilable = false,
				},
				{
					n = "baseSkill",
					t = "number",
					nilable = false,
				},
				{
					n = "bonusSkill",
					t = "number",
					nilable = false,
				},
				{
					n = "bonusStats",
					t = "table",
					nilable = false,
					it = "GatheringOperationBonusStatInfo",
				},
			},
		},
		{
			n = "ProfessionInfo",
			k = "Structure",
			fields = {
				{
					n = "profession",
					t = "Profession",
					nilable = true,
				},
				{
					n = "professionID",
					t = "number",
					nilable = false,
				},
				{
					n = "sourceCounter",
					t = "number",
					nilable = false,
				},
				{
					n = "professionName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "expansionName",
					t = "cstring",
					nilable = false,
				},
				{
					n = "skillLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "maxSkillLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "skillModifier",
					t = "number",
					nilable = false,
				},
				{
					n = "isPrimaryProfession",
					t = "bool",
					nilable = false,
				},
				{
					n = "parentProfessionID",
					t = "number",
					nilable = true,
				},
				{
					n = "parentProfessionName",
					t = "cstring",
					nilable = true,
				},
			},
		},
		{
			n = "RegularReagentInfo",
			k = "Structure",
			fields = {
				{
					n = "reagent",
					t = "CraftingReagent",
					nilable = false,
				},
				{
					n = "quantity",
					t = "number",
					nilable = false,
				},
			},
		},
		{
			n = "TradeSkillRecipeInfo",
			k = "Structure",
			fields = {
				{
					n = "categoryID",
					t = "number",
					nilable = false,
				},
				{
					n = "name",
					t = "cstring",
					nilable = false,
				},
				{
					n = "relativeDifficulty",
					t = "TradeskillRelativeDifficulty",
					nilable = true,
				},
				{
					n = "maxTrivialLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "itemLevel",
					t = "number",
					nilable = false,
				},
				{
					n = "alternateVerb",
					t = "cstring",
					nilable = true,
				},
				{
					n = "numSkillUps",
					t = "number",
					nilable = false,
				},
				{
					n = "canSkillUp",
					t = "bool",
					nilable = false,
				},
				{
					n = "firstCraft",
					t = "bool",
					nilable = false,
				},
				{
					n = "sourceType",
					t = "number",
					nilable = true,
				},
				{
					n = "learned",
					t = "bool",
					nilable = false,
				},
				{
					n = "disabled",
					t = "bool",
					nilable = false,
				},
				{
					n = "favorite",
					t = "bool",
					nilable = false,
				},
				{
					n = "supportsQualities",
					t = "bool",
					nilable = false,
				},
				{
					n = "craftable",
					t = "bool",
					nilable = false,
					def = true,
				},
				{
					n = "disabledReason",
					t = "cstring",
					nilable = true,
				},
				{
					n = "recipeID",
					t = "number",
					nilable = false,
				},
				{
					n = "skillLineAbilityID",
					t = "number",
					nilable = false,
				},
				{
					n = "previousRecipeID",
					t = "number",
					nilable = true,
				},
				{
					n = "nextRecipeID",
					t = "number",
					nilable = true,
				},
				{
					n = "icon",
					t = "number",
					nilable = true,
				},
				{
					n = "hyperlink",
					t = "cstring",
					nilable = true,
				},
				{
					n = "currentRecipeExperience",
					t = "number",
					nilable = true,
				},
				{
					n = "nextLevelRecipeExperience",
					t = "number",
					nilable = true,
				},
				{
					n = "unlockedRecipeLevel",
					t = "number",
					nilable = true,
				},
				{
					n = "earnedExperience",
					t = "number",
					nilable = true,
				},
				{
					n = "supportsCraftingStats",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "hasSingleItemOutput",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "qualityItemIDs",
					t = "table",
					nilable = true,
					it = "number",
				},
				{
					n = "qualityIlvlBonuses",
					t = "table",
					nilable = true,
					it = "number",
				},
				{
					n = "alwaysUsesLowestQuality",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "maxQuality",
					t = "number",
					nilable = true,
				},
				{
					n = "qualityIDs",
					t = "table",
					nilable = true,
					it = "number",
				},
				{
					n = "canCreateMultiple",
					t = "bool",
					nilable = false,
					def = true,
				},
				{
					n = "abilityVerb",
					t = "cstring",
					nilable = true,
				},
				{
					n = "abilityAllVerb",
					t = "cstring",
					nilable = true,
				},
				{
					n = "isRecraft",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "isDummyRecipe",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "isGatheringRecipe",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "isEnchantingRecipe",
					t = "bool",
					nilable = false,
					def = false,
				},
				{
					n = "isSalvageRecipe",
					t = "bool",
					nilable = false,
					def = false,
				},
			},
		},
	},
}
systems[#systems + 1] = {
	name = "Trainer",
	type = "System",
	ns = "C_Trainer",
	env = "All",
	file = "TrainerDocumentation.lua",
	hash = "a1b9fb08160af236b7fb5b06cdcb2a88e200f7eec8902554cfd8fa68115a1435",
	events = {
		{
			n = "TrainerClosed",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRAINER_CLOSED",
		},
		{
			n = "TrainerDescriptionUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRAINER_DESCRIPTION_UPDATE",
		},
		{
			n = "TrainerServiceInfoNameUpdate",
			k = "Event",
			literal = "TRAINER_SERVICE_INFO_NAME_UPDATE",
			unique = true,
		},
		{
			n = "TrainerShow",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRAINER_SHOW",
		},
		{
			n = "TrainerUpdate",
			k = "Event",
			SynchronousEvent = true,
			literal = "TRAINER_UPDATE",
		},
	},
}
systems[#systems + 1] = {
	name = "TraitConfig",
	type = "System",
	ns = "C_TraitConfig",
	env = "All",
	file = "TraitConfigDocumentation.lua",
	hash = "8b0a77fc582291e605f9ed5d03695c39cf2f926608300c5c8f66e67e018c5009",
}
systems[#systems + 1] = {
	name = "",
	type = "",
	ns = "",
	env = "",
	file = "TraitConstantsDocumentation.lua",
	hash = "87a9455c8b3429764df9a157303f16500374cf8b87ae7f3bd85d9a13bf3e8c26",
	tables = {
		{
			n = "NodeOpFailureReason",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "NodeOpFailureReason",
					EnumValue = 0,
				},
				{
					n = "MissingEdgeConnection",
					t = "NodeOpFailureReason",
					EnumValue = 1,
				},
				{
					n = "RequiredForEdge",
					t = "NodeOpFailureReason",
					EnumValue = 2,
				},
				{
					n = "MissingRequiredEdge",
					t = "NodeOpFailureReason",
					EnumValue = 3,
				},
				{
					n = "HasMutuallyExclusiveEdge",
					t = "NodeOpFailureReason",
					EnumValue = 4,
				},
				{
					n = "NotEnoughSourcedCurrencySpent",
					t = "NodeOpFailureReason",
					EnumValue = 5,
				},
				{
					n = "NotEnoughCurrencySpent",
					t = "NodeOpFailureReason",
					EnumValue = 6,
				},
				{
					n = "NotEnoughGoldSpent",
					t = "NodeOpFailureReason",
					EnumValue = 7,
				},
				{
					n = "MissingAchievement",
					t = "NodeOpFailureReason",
					EnumValue = 8,
				},
				{
					n = "MissingQuest",
					t = "NodeOpFailureReason",
					EnumValue = 9,
				},
				{
					n = "WrongSpec",
					t = "NodeOpFailureReason",
					EnumValue = 10,
				},
				{
					n = "WrongSelection",
					t = "NodeOpFailureReason",
					EnumValue = 11,
				},
				{
					n = "MaxRank",
					t = "NodeOpFailureReason",
					EnumValue = 12,
				},
				{
					n = "DataError",
					t = "NodeOpFailureReason",
					EnumValue = 13,
				},
				{
					n = "NotEnoughSourcedCurrency",
					t = "NodeOpFailureReason",
					EnumValue = 14,
				},
				{
					n = "NotEnoughCurrency",
					t = "NodeOpFailureReason",
					EnumValue = 15,
				},
				{
					n = "NotEnoughGold",
					t = "NodeOpFailureReason",
					EnumValue = 16,
				},
				{
					n = "SameSelection",
					t = "NodeOpFailureReason",
					EnumValue = 17,
				},
				{
					n = "NodeNotFound",
					t = "NodeOpFailureReason",
					EnumValue = 18,
				},
				{
					n = "EntryNotFound",
					t = "NodeOpFailureReason",
					EnumValue = 19,
				},
				{
					n = "RequiredForCondition",
					t = "NodeOpFailureReason",
					EnumValue = 20,
				},
				{
					n = "WrongTreeID",
					t = "NodeOpFailureReason",
					EnumValue = 21,
				},
				{
					n = "LevelTooLow",
					t = "NodeOpFailureReason",
					EnumValue = 22,
				},
				{
					n = "TreeFlaggedNoRefund",
					t = "NodeOpFailureReason",
					EnumValue = 23,
				},
				{
					n = "NodeNeverPurchasable",
					t = "NodeOpFailureReason",
					EnumValue = 24,
				},
				{
					n = "AccountDataNoMatch",
					t = "NodeOpFailureReason",
					EnumValue = 25,
				},
				{
					n = "NotEnoughRanksInEntry",
					t = "NodeOpFailureReason",
					EnumValue = 26,
				},
			},
			max = 26,
			min = 0,
			num = 27,
		},
		{
			n = "SharedStringFlag",
			k = "Enumeration",
			fields = {
				{
					n = "InternalOnly",
					t = "SharedStringFlag",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 1,
			num = 1,
		},
		{
			n = "TraitCombatConfigFlags",
			k = "Enumeration",
			fields = {
				{
					n = "ActiveForSpec",
					t = "TraitCombatConfigFlags",
					EnumValue = 1,
				},
				{
					n = "StarterBuild",
					t = "TraitCombatConfigFlags",
					EnumValue = 2,
				},
				{
					n = "SharedActionBars",
					t = "TraitCombatConfigFlags",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 1,
			num = 3,
		},
		{
			n = "TraitCondFlag",
			k = "Enumeration",
			fields = {
				{
					n = "IsGate",
					t = "TraitCondFlag",
					EnumValue = 1,
				},
				{
					n = "IsAlwaysMet",
					t = "TraitCondFlag",
					EnumValue = 2,
				},
				{
					n = "IsSufficient",
					t = "TraitCondFlag",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 1,
			num = 3,
		},
		{
			n = "TraitConditionType",
			k = "Enumeration",
			fields = {
				{
					n = "Available",
					t = "TraitConditionType",
					EnumValue = 0,
				},
				{
					n = "Visible",
					t = "TraitConditionType",
					EnumValue = 1,
				},
				{
					n = "Granted",
					t = "TraitConditionType",
					EnumValue = 2,
				},
				{
					n = "Increased",
					t = "TraitConditionType",
					EnumValue = 3,
				},
				{
					n = "DisplayError",
					t = "TraitConditionType",
					EnumValue = 4,
				},
				{
					n = "RanksAllowed",
					t = "TraitConditionType",
					EnumValue = 5,
				},
			},
			max = 5,
			min = 0,
			num = 6,
		},
		{
			n = "TraitConfigDbState",
			k = "Enumeration",
			fields = {
				{
					n = "Ready",
					t = "TraitConfigDbState",
					EnumValue = 0,
				},
				{
					n = "Created",
					t = "TraitConfigDbState",
					EnumValue = 1,
				},
				{
					n = "Removed",
					t = "TraitConfigDbState",
					EnumValue = 2,
				},
				{
					n = "Deleted",
					t = "TraitConfigDbState",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "TraitConfigType",
			k = "Enumeration",
			fields = {
				{
					n = "Invalid",
					t = "TraitConfigType",
					EnumValue = 0,
				},
				{
					n = "Combat",
					t = "TraitConfigType",
					EnumValue = 1,
				},
				{
					n = "Profession",
					t = "TraitConfigType",
					EnumValue = 2,
				},
				{
					n = "Generic",
					t = "TraitConfigType",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "TraitCurrencyFlag",
			k = "Enumeration",
			fields = {
				{
					n = "ShowQuantityAsSpent",
					t = "TraitCurrencyFlag",
					EnumValue = 1,
				},
				{
					n = "TraitSourcedShowMax",
					t = "TraitCurrencyFlag",
					EnumValue = 2,
				},
				{
					n = "UseClassIcon",
					t = "TraitCurrencyFlag",
					EnumValue = 4,
				},
				{
					n = "UseSpecIcon",
					t = "TraitCurrencyFlag",
					EnumValue = 8,
				},
			},
			max = 8,
			min = 1,
			num = 4,
		},
		{
			n = "TraitCurrencyType",
			k = "Enumeration",
			fields = {
				{
					n = "Gold",
					t = "TraitCurrencyType",
					EnumValue = 0,
				},
				{
					n = "CurrencyTypesBased",
					t = "TraitCurrencyType",
					EnumValue = 1,
				},
				{
					n = "TraitSourced",
					t = "TraitCurrencyType",
					EnumValue = 2,
				},
				{
					n = "TraitSourcedPlayerDataElement",
					t = "TraitCurrencyType",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "TraitDefinitionSubType",
			k = "Enumeration",
			fields = {
				{
					n = "DragonflightRed",
					t = "TraitDefinitionSubType",
					EnumValue = 0,
				},
				{
					n = "DragonflightBlue",
					t = "TraitDefinitionSubType",
					EnumValue = 1,
				},
				{
					n = "DragonflightGreen",
					t = "TraitDefinitionSubType",
					EnumValue = 2,
				},
				{
					n = "DragonflightBronze",
					t = "TraitDefinitionSubType",
					EnumValue = 3,
				},
				{
					n = "DragonflightBlack",
					t = "TraitDefinitionSubType",
					EnumValue = 4,
				},
			},
			max = 4,
			min = 0,
			num = 5,
		},
		{
			n = "TraitEdgeType",
			k = "Enumeration",
			fields = {
				{
					n = "VisualOnly",
					t = "TraitEdgeType",
					EnumValue = 0,
				},
				{
					n = "DeprecatedRankConnection",
					t = "TraitEdgeType",
					EnumValue = 1,
				},
				{
					n = "SufficientForAvailability",
					t = "TraitEdgeType",
					EnumValue = 2,
				},
				{
					n = "RequiredForAvailability",
					t = "TraitEdgeType",
					EnumValue = 3,
				},
				{
					n = "MutuallyExclusive",
					t = "TraitEdgeType",
					EnumValue = 4,
				},
				{
					n = "DeprecatedSelectionOption",
					t = "TraitEdgeType",
					EnumValue = 5,
				},
			},
			max = 5,
			min = 0,
			num = 6,
		},
		{
			n = "TraitEdgeVisualStyle",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "TraitEdgeVisualStyle",
					EnumValue = 0,
				},
				{
					n = "Straight",
					t = "TraitEdgeVisualStyle",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "TraitNodeEntryType",
			k = "Enumeration",
			fields = {
				{
					n = "SpendHex",
					t = "TraitNodeEntryType",
					EnumValue = 0,
				},
				{
					n = "SpendSquare",
					t = "TraitNodeEntryType",
					EnumValue = 1,
				},
				{
					n = "SpendCircle",
					t = "TraitNodeEntryType",
					EnumValue = 2,
				},
				{
					n = "SpendSmallCircle",
					t = "TraitNodeEntryType",
					EnumValue = 3,
				},
				{
					n = "DeprecatedSelect",
					t = "TraitNodeEntryType",
					EnumValue = 4,
				},
				{
					n = "DragAndDrop",
					t = "TraitNodeEntryType",
					EnumValue = 5,
				},
				{
					n = "SpendDiamond",
					t = "TraitNodeEntryType",
					EnumValue = 6,
				},
				{
					n = "ProfPath",
					t = "TraitNodeEntryType",
					EnumValue = 7,
				},
				{
					n = "ProfPerk",
					t = "TraitNodeEntryType",
					EnumValue = 8,
				},
				{
					n = "ProfPathUnlock",
					t = "TraitNodeEntryType",
					EnumValue = 9,
				},
				{
					n = "RedButton",
					t = "TraitNodeEntryType",
					EnumValue = 10,
				},
				{
					n = "ArmorSet",
					t = "TraitNodeEntryType",
					EnumValue = 11,
				},
				{
					n = "SpendInfinite",
					t = "TraitNodeEntryType",
					EnumValue = 12,
				},
				{
					n = "SpendCapstoneCircle",
					t = "TraitNodeEntryType",
					EnumValue = 13,
				},
				{
					n = "SpendCapstoneSquare",
					t = "TraitNodeEntryType",
					EnumValue = 14,
				},
			},
			max = 14,
			min = 0,
			num = 15,
		},
		{
			n = "TraitNodeFlag",
			k = "Enumeration",
			fields = {
				{
					n = "ShowMultipleIcons",
					t = "TraitNodeFlag",
					EnumValue = 1,
				},
				{
					n = "NeverPurchasable",
					t = "TraitNodeFlag",
					EnumValue = 2,
				},
				{
					n = "TestPositionLocked",
					t = "TraitNodeFlag",
					EnumValue = 4,
				},
				{
					n = "TestGridPositioned",
					t = "TraitNodeFlag",
					EnumValue = 8,
				},
				{
					n = "ActiveAtFirstRank",
					t = "TraitNodeFlag",
					EnumValue = 16,
				},
				{
					n = "ShowExpandedSelection",
					t = "TraitNodeFlag",
					EnumValue = 32,
				},
				{
					n = "HideMaxRank",
					t = "TraitNodeFlag",
					EnumValue = 64,
				},
				{
					n = "HighestChosenRank",
					t = "TraitNodeFlag",
					EnumValue = 128,
				},
				{
					n = "ShowTierTrack",
					t = "TraitNodeFlag",
					EnumValue = 256,
				},
			},
			max = 256,
			min = 1,
			num = 9,
		},
		{
			n = "TraitNodeGroupFlag",
			k = "Enumeration",
			fields = {
				{
					n = "AvailableByDefault",
					t = "TraitNodeGroupFlag",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 1,
			num = 1,
		},
		{
			n = "TraitNodeType",
			k = "Enumeration",
			fields = {
				{
					n = "Single",
					t = "TraitNodeType",
					EnumValue = 0,
				},
				{
					n = "Tiered",
					t = "TraitNodeType",
					EnumValue = 1,
				},
				{
					n = "Selection",
					t = "TraitNodeType",
					EnumValue = 2,
				},
				{
					n = "SubTreeSelection",
					t = "TraitNodeType",
					EnumValue = 3,
				},
			},
			max = 3,
			min = 0,
			num = 4,
		},
		{
			n = "TraitPointsOperationType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "TraitPointsOperationType",
					EnumValue = -1,
				},
				{
					n = "Set",
					t = "TraitPointsOperationType",
					EnumValue = 0,
				},
				{
					n = "Multiply",
					t = "TraitPointsOperationType",
					EnumValue = 1,
				},
			},
			max = 1,
			min = -1,
			num = 3,
		},
		{
			n = "TraitSystemFlag",
			k = "Enumeration",
			fields = {
				{
					n = "AllowMultipleLoadoutsPerTree",
					t = "TraitSystemFlag",
					EnumValue = 1,
				},
				{
					n = "ShowSpendConfirmation",
					t = "TraitSystemFlag",
					EnumValue = 2,
				},
				{
					n = "AllowEditInCombat",
					t = "TraitSystemFlag",
					EnumValue = 4,
				},
				{
					n = "AllowEditInChallengeMode",
					t = "TraitSystemFlag",
					EnumValue = 8,
				},
			},
			max = 8,
			min = 1,
			num = 4,
		},
		{
			n = "TraitSystemVariationType",
			k = "Enumeration",
			fields = {
				{
					n = "None",
					t = "TraitSystemVariationType",
					EnumValue = 0,
				},
				{
					n = "Spec",
					t = "TraitSystemVariationType",
					EnumValue = 1,
				},
			},
			max = 1,
			min = 0,
			num = 2,
		},
		{
			n = "TraitTreeFlag",
			k = "Enumeration",
			fields = {
				{
					n = "CannotRefund",
					t = "TraitTreeFlag",
					EnumValue = 1,
				},
				{
					n = "HideSingleRankNumbers",
					t = "TraitTreeFlag",
					EnumValue = 2,
				},
			},
			max = 2,
			min = 1,
			num = 2,
		},
		{
			n = "TraitConsts",
			k = "Constants",
			values = {
				{
					n = "MAX_COMBAT_TRAIT_CONFIGS",
					t = "number",
					Value = 40,
				},
				{
					n = "COMMIT_COMBAT_TRAIT_CONFIG_CHANGES_SPELL_ID",
					t = "number",
					Value = 384255,
				},
				{
					n = "INSPECT_TRAIT_CONFIG_ID",
					t = "number",
					Value = -1,
				},
				{
					n = "STARTER_BUILD_TRAIT_CONFIG_ID",
					t = "number",
					Value = -2,
				},
				{
					n = "VIEW_TRAIT_CONFIG_ID",
					t = "number",
					Value = -3,
				},
			},
		},
	},
}
