Quantcast

Utilized the private AddOn "namespace" made available in 3.3 and named it "private" - now I'll have to write a proper API for AddOns which want data since direct access is now impossible.

torhal [02-01-10 - 15:27]
Utilized the private AddOn "namespace" made available in 3.3 and named it "private" - now I'll have to write a proper API for AddOns which want data since direct access is now impossible.
Moved addon.WHATEVER_list to private.WHATEVER_list.
Removed file-local RecipeList, CustomList, etc - now using the private lists only where absolutely needed.
Re-named and changed the usage for many more table members: vendor["SellList"] became vendor.sells, acquire[index]["Type"] became acquire[index].type, etc.
Filename
ARL.lua
Datamine.lua
Frame.lua
Player.lua
diff --git a/ARL.lua b/ARL.lua
index 7c22f2a..0379264 100644
--- a/ARL.lua
+++ b/ARL.lua
@@ -80,25 +80,20 @@ local PROFESSION_INITS = {}	-- Professions initialization functions.
 ------------------------------------------------------------------------------
 -- Database tables
 ------------------------------------------------------------------------------
-local RecipeList = {}
-local CustomList = {}
-local MobList = {}
-local QuestList = {}
-local ReputationList = {}
-local TrainerList = {}
-local SeasonalList = {}
-local VendorList = {}
 local AllSpecialtiesTable = {}
 local SpecialtyTable

-addon.custom_list	= CustomList
-addon.mob_list		= MobList
-addon.quest_list	= QuestList
-addon.recipe_list	= RecipeList
-addon.reputation_list	= ReputationList
-addon.trainer_list	= TrainerList
-addon.seasonal_list	= SeasonalList
-addon.vendor_list	= VendorList
+-- Set up the private intra-file namespace.
+local private	= select(2, ...)
+
+private.custom_list	= {}
+private.mob_list	= {}
+private.quest_list	= {}
+private.recipe_list	= {}
+private.reputation_list	= {}
+private.trainer_list	= {}
+private.seasonal_list	= {}
+private.vendor_list	= {}

 ------------------------------------------------------------------------------
 -- Data which is stored regarding a players statistics (luadoc copied from Collectinator, needs updating)
@@ -110,7 +105,7 @@ addon.vendor_list	= VendorList
 -- @field Class Player's class
 -- @field ["Reputation"] Listing of players reputation levels
 local Player = {}
-addon.Player = Player
+private.Player = Player

 -- Global Frame Variables
 addon.optionsFrame = {}
@@ -457,13 +452,13 @@ function addon:OnInitialize()
 	-------------------------------------------------------------------------------
 	-- Initialize the databases
 	-------------------------------------------------------------------------------
-	self:InitCustom(CustomList)
-	self:InitMob(MobList)
-	self:InitQuest(QuestList)
-	self:InitReputation(ReputationList)
-	self:InitTrainer(TrainerList)
-	self:InitSeasons(SeasonalList)
-	self:InitVendor(VendorList)
+	self:InitCustom(private.custom_list)
+	self:InitMob(private.mob_list)
+	self:InitQuest(private.quest_list)
+	self:InitReputation(private.reputation_list)
+	self:InitTrainer(private.trainer_list)
+	self:InitSeasons(private.seasonal_list)
+	self:InitVendor(private.vendor_list)

 	-------------------------------------------------------------------------------
 	-- Hook GameTooltip so we can show information on mobs that drop/sell/train
@@ -481,12 +476,13 @@ function addon:OnInitialize()
 				       return
 			       end
 			       local GUID = tonumber(string.sub(guid, 8, 12), 16)
-			       local mob = MobList[GUID]
+			       local mob = private.mob_list[GUID]
+			       local recipe_list = private.recipe_list
 			       local shifted = IsShiftKeyDown()

-			       if mob and mob["DropList"] then
-				       for spell_id in pairs(mob["DropList"]) do
-					       local recipe = RecipeList[spell_id]
+			       if mob and mob.drop_list then
+				       for spell_id in pairs(mob.drop_list) do
+					       local recipe = recipe_list[spell_id]
 					       local skill_level = Player["Professions"][GetSpellInfo(recipe.profession)]

 					       if skill_level and not recipe.is_known or shifted then
@@ -497,11 +493,11 @@ function addon:OnInitialize()
 				       end
 				       return
 			       end
-			       local vendor = VendorList[GUID]
+			       local vendor = private.vendor_list[GUID]

-			       if vendor and vendor["SellList"] then
-				       for spell_id in pairs(vendor["SellList"]) do
-					       local recipe = RecipeList[spell_id]
+			       if vendor and vendor.sells then
+				       for spell_id in pairs(vendor.sells) do
+					       local recipe = recipe_list[spell_id]
 					       local recipe_prof = GetSpellInfo(recipe.profession)
 					       local scanned = Player["Scanned"][recipe_prof]

@@ -518,11 +514,11 @@ function addon:OnInitialize()
 				       end
 				       return
 			       end
-			       local trainer = TrainerList[GUID]
+			       local trainer = private.trainer_list[GUID]

-			       if trainer and trainer["TrainList"] then
-				       for spell_id in pairs(trainer["TrainList"]) do
-					       local recipe = RecipeList[spell_id]
+			       if trainer and trainer.teaches then
+				       for spell_id in pairs(trainer.teaches) do
+					       local recipe = recipe_list[spell_id]
 					       local recipe_prof = GetSpellInfo(recipe.profession)
 					       local scanned = Player["Scanned"][recipe_prof]

@@ -960,7 +956,7 @@ do
 			--@end-alpha@

 			acquire[index] = {
-				["Type"] = acquire_type,
+				["type"] = acquire_type,
 				["ID"] = acquire_id
 			}
 			local location
@@ -968,73 +964,81 @@ do
 			if not acquire_type then
 				self:Print("SpellID: "..SpellID.." has no acquire type.")
 			elseif acquire_type == A_TRAINER then
+				local trainer_list = private.trainer_list
+
 				if not acquire_id then
 					--@alpha@
 					self:Print("SpellID "..SpellID..": TrainerID is nil.")
 					--@end-alpha@
-				elseif not TrainerList[acquire_id] then
+				elseif not trainer_list[acquire_id] then
 					--@alpha@
 					self:Print("SpellID "..SpellID..": TrainerID "..acquire_id.." does not exist in the database.")
 					--@end-alpha@
 				else
-					location = TrainerList[acquire_id]["Location"]
+					location = trainer_list[acquire_id]["Location"]

 					if not location_checklist[location] then
 						tinsert(location_list, location)
 						location_checklist[location] = true
 					end
-					TrainerList[acquire_id]["TrainList"] = TrainerList[acquire_id]["TrainList"] or {}
-					TrainerList[acquire_id]["TrainList"][SpellID] = true
+					trainer_list[acquire_id].teaches = trainer_list[acquire_id].teaches or {}
+					trainer_list[acquire_id].teaches[SpellID] = true
 				end
 			elseif acquire_type == A_VENDOR then
+				local vendor_list = private.vendor_list
+
 				if not acquire_id then
 					--@alpha@
 					self:Print("SpellID "..SpellID..": VendorID is nil.")
 					--@end-alpha@
-				elseif not VendorList[acquire_id] then
+				elseif not vendor_list[acquire_id] then
 					--@alpha@
 					self:Print("SpellID "..SpellID..": VendorID "..acquire_id.." does not exist in the database.")
 					--@end-alpha@
 				else
-					location = VendorList[acquire_id]["Location"]
+					location = vendor_list[acquire_id]["Location"]

 					if not location_checklist[location] then
 						tinsert(location_list, location)
 						location_checklist[location] = true
 					end
-					VendorList[acquire_id]["SellList"] = VendorList[acquire_id]["SellList"] or {}
-					VendorList[acquire_id]["SellList"][SpellID] = true
+					vendor_list[acquire_id].sells = vendor_list[acquire_id].sells or {}
+					vendor_list[acquire_id].sells[SpellID] = true
 				end
 			elseif acquire_type == A_MOB then
+				local mob_list = private.mob_list
+
 				if not acquire_id then
 					--@alpha@
 					self:Print("SpellID "..SpellID..": MobID is nil.")
 					--@end-alpha@
-				elseif not MobList[acquire_id] then
+				elseif not mob_list[acquire_id] then
 					--@alpha@
 					self:Print("SpellID "..SpellID..": Mob ID "..acquire_id.." does not exist in the database.")
 					--@end-alpha@
 				else
-					location = MobList[acquire_id]["Location"]
+					location = mob_list[acquire_id]["Location"]

 					if not location_checklist[location] then
 						tinsert(location_list, location)
 						location_checklist[location] = true
 					end
-					MobList[acquire_id]["DropList"] = MobList[acquire_id]["DropList"] or {}
-					MobList[acquire_id]["DropList"][SpellID] = true
+					mob_list[acquire_id].drop_list = mob_list[acquire_id].drop_list or {}
+					mob_list[acquire_id].drop_list[SpellID] = true
 				end
 			elseif acquire_type == A_QUEST then
+				local quest_list = private.quest_list
+
 				if not acquire_id then
 					--@alpha@
 					self:Print("SpellID "..SpellID..": QuestID is nil.")
 					--@end-alpha@
-				elseif not QuestList[acquire_id] then
+				elseif not quest_list[acquire_id] then
 					--@alpha@
 					self:Print("SpellID "..SpellID..": Quest ID "..acquire_id.." does not exist in the database.")
 					--@end-alpha@
 				else
-					location = QuestList[acquire_id]["Location"]
+					location = quest_list[acquire_id]["Location"]

 					if not location_checklist[location] then
 						tinsert(location_list, location)
@@ -1048,15 +1052,16 @@ do
 				end
 				--@end-alpha@
 			elseif acquire_type == A_REPUTATION then
-				local RepLevel, RepVendor = select(i, ...)
+				local vendor_list = private.vendor_list
+				local rep_level, rep_vendor = select(i, ...)
 				i = i + 2

-				acquire[index]["RepLevel"] = RepLevel
-				acquire[index]["RepVendor"] = RepVendor
-				VendorList[RepVendor]["SellList"] = VendorList[RepVendor]["SellList"] or {}
-				VendorList[RepVendor]["SellList"][SpellID] = true
+				acquire[index].rep_level = rep_level
+				acquire[index].rep_vendor = rep_vendor
+				vendor_list[rep_vendor].sells = vendor_list[rep_vendor].sells or {}
+				vendor_list[rep_vendor].sells[SpellID] = true

-				location = VendorList[RepVendor]["Location"]
+				location = vendor_list[rep_vendor]["Location"]

 				if not location_checklist[location] then
 					tinsert(location_list, location)
@@ -1066,14 +1071,14 @@ do
 				--@alpha@
 				if not acquire_id then
 					self:Print("SpellID "..SpellID..": ReputationID is nil.")
-				elseif not ReputationList[acquire_id] then
+				elseif not private.reputation_list[acquire_id] then
 					self:Print("SpellID "..SpellID..": ReputationID "..acquire_id.." does not exist in the database.")
 				end

-				if not RepVendor then
+				if not rep_vendor then
 					self:Print("SpellID "..SpellID..": Reputation VendorID is nil.")
-				elseif not VendorList[RepVendor] then
-					self:Print("SpellID "..SpellID..": Reputation VendorID "..RepVendor.." does not exist in the database.")
+				elseif not vendor_list[rep_vendor] then
+					self:Print("SpellID "..SpellID..": Reputation VendorID "..rep_vendor.." does not exist in the database.")
 				end
 				--@end-alpha@
 			elseif acquire_type == A_WORLD_DROP then
@@ -1128,7 +1133,7 @@ do
 			DB[ID]["Coordy"] = Coordy
 		end

-		if DB == QuestList then
+		if DB == private.quest_list then
 			GameTooltip:SetOwner(UIParent, ANCHOR_NONE)
 			GameTooltip:SetHyperlink("quest:"..tostring(ID))

@@ -1417,8 +1422,9 @@ do
 		local recipes_known_filtered = 0
 		local can_display = false
 		local current_profession = Player["Profession"]
+		local recipe_list = private.recipe_list

-		for recipe_id, recipe in pairs(RecipeList) do
+		for recipe_id, recipe in pairs(recipe_list) do
 			if recipe.profession == current_profession then
 				local is_known = recipe.is_known

@@ -1441,7 +1447,7 @@ do
 			else
 				can_display = false
 			end
-			RecipeList[recipe_id]["Display"] = can_display
+			recipe_list[recipe_id]["Display"] = can_display
 		end
 		Player.recipes_total = recipes_total
 		Player.recipes_known = recipes_known
@@ -1466,7 +1472,7 @@ function addon:InitializeRecipe(profession)
 	local func = PROFESSION_INITS[profession]

 	if func then
-		return func(addon, RecipeList)
+		return func(addon, private.recipe_list)
 	else
 		addon:Print(L["UnknownTradeSkill"]:format(profession))
 		return 0
@@ -1557,8 +1563,10 @@ do
 		Player.totalRecipes = addon:InitializeRecipe(Player["Profession"])

 		--- Set the known flag to false for every recipe in the database.
-		for SpellID in pairs(RecipeList) do
-			RecipeList[SpellID].is_known = false
+		local recipe_list = private.recipe_list
+
+		for SpellID in pairs(recipe_list) do
+			recipe_list[SpellID].is_known = false
 		end

 		-------------------------------------------------------------------------------
@@ -1594,6 +1602,7 @@ do
 				end
 			end
 		end
+		local recipe_list = private.recipe_list
 		local recipes_found = 0

 		for i = 1, GetNumTradeSkills() do
@@ -1603,7 +1612,7 @@ do
 				-- Get the trade skill link for the specified recipe
 				local SpellLink = GetTradeSkillRecipeLink(i)
 				local SpellString = strmatch(SpellLink, "^|c%x%x%x%x%x%x%x%x|H%w+:(%d+)")
-				local recipe = RecipeList[tonumber(SpellString)]
+				local recipe = recipe_list[tonumber(SpellString)]

 				if recipe then
 					recipe.is_known = true
@@ -1639,7 +1648,7 @@ do
 		Player:MarkExclusions()

 		if textdump then
-			self:DisplayTextDump(RecipeList, Player["Profession"])
+			self:DisplayTextDump(recipe_list, Player["Profession"])
 		else
 			self:DisplayFrame()
 		end
@@ -1824,7 +1833,7 @@ do
 				twipe(acquire_list)

 				for i in pairs(acquire) do
-					local acquire_type = acquire[i]["Type"]
+					local acquire_type = acquire[i].type

 					acquire_list[ACQUIRE_NAMES[acquire_type]] = true
 				end
diff --git a/Datamine.lua b/Datamine.lua
index 8594ddc..123b97e 100644
--- a/Datamine.lua
+++ b/Datamine.lua
@@ -17,10 +17,13 @@ This source code is released under All Rights Reserved.
 -------------------------------------------------------------------------------
 -- AddOn namespace.
 -------------------------------------------------------------------------------
-local MODNAME			= "Ackis Recipe List"
-local addon			= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+local MODNAME	= "Ackis Recipe List"
+local addon	= LibStub("AceAddon-3.0"):GetAddon(MODNAME)

-local L				= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+local L		= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+
+-- Set up the private intra-file namespace.
+local private	= select(2, ...)


 -------------------------------------------------------------------------------
@@ -595,440 +598,440 @@ local NO_PLAYER_FLAG = {
 	[56349] = true, 		[12584] = true, 		[56477] = true, 		[30348] = true,
 	[26416] = true, 		[53281] = true, 		[23507] = true,			[12075] = true,
 	[12079] = true,			[26746] = true,			[56000] = true,
-
-		-----------------------------------------------------------------------------------------
+
+	-----------------------------------------------------------------------------------------
 	---JEWELCRAFTING
 	-----------------------------------------------------------------------------------------
-	[55401] = true, [53995] = true, [66432] = true, [25255] = true,
-[66497] = true, [53996] = true, [56074] = true, [56202] = true,
- [66434] = true, [32801] = true, [28948] = true, [53997] = true,
- [39963] = true, [32866] = true, [66501] = true, [39452] = true,
- [53934] = true, [66502] = true, [55405] = true, [58954] = true,
- [56205] = true, [37855] = true, [38175] = true, [25305] = true,
- [25321] = true, [66505] = true, [54000] = true, [39742] = true,
- [56206] = true, [66506] = true, [32869] = true, [54001] = true,
- [56079] = true, [32259] = true, [32870] = true, [56208] = true,
- [32807] = true, [32871] = true, [26873] = true, [31061] = true,
- [32872] = true, [42591] = true, [46779] = true, [56530] = true,
- [42592] = true, [31062] = true, [56083] = true, [32874] = true,
- [56531] = true, [31063] = true, [56085] = true, [38503] = true,
- [56086] = true, [28938] = true, [38504] = true, [31064] = true,
- [31096] = true, [55384] = true, [25278] = true, [68253] = true,
- [43493] = true, [26925] = true, [31065] = true, [46403] = true,
- [53852] = true, [53916] = true, [39722] = true, [25615] = true,
- [28924] = true, [26926] = true, [53853] = true, [36526] = true,
- [31098] = true, [55388] = true, [46405] = true, [53854] = true,
- [39724] = true, [55389] = true, [26927] = true, [31051] = true,
- [53919] = true, [39725] = true, [55390] = true, [53856] = true,
- [53920] = true, [53952] = true, [26880] = true, [53857] = true,
- [31052] = true, [34069] = true, [25490] = true, [55393] = true,
- [39451] = true, [53956] = true, [44794] = true, [36524] = true,
- [55395] = true, [38068] = true, [28944] = true, [53957] = true,
- [31066] = true, [31082] = true, [66428] = true, [26909] = true,
- [55396] = true, [31097] = true, [25284] = true, [56084] = true,
- [62941] = true, [66431] = true, [53894] = true, [53958] = true,
- [58146] = true, [31099] = true, [47053] = true, [31067] = true,
- [28917] = true, [26903] = true, [36525] = true, [66503] = true,
- [56197] = true, [47054] = true, [53961] = true, [39715] = true,
- [31092] = true, [53960] = true, [31077] = true, [31101] = true,
- [39719] = true, [55399] = true, [31113] = true, [32808] = true,
- [53917] = true, [63743] = true, [39720] = true, [39721] = true,
- [42590] = true, [58149] = true, [56199] = true, [47056] = true,
- [28950] = true, [47280] = true, [32809] = true, [31072] = true,
-[25318] = true, [66429] = true, [62242] = true,
----------------------------------------------------------------------------------------
-
----------------------------------------------------------------------------------------
----COOKING
----------------------------------------------------------------------------------------
-[62050]= true, [22761]= true, [62051]= true, [8607]= true,
-[18238]= true, [6413]= true, [6417]= true, [42296]= true,
-[45557]= true, [6501]= true, [45558]= true, [18239]= true,
- [7752]= true, [7828]= true, [45560]= true, [64358]= true,
- [57421]= true, [45561]= true, [13028]= true, [2543]= true,
- [2545]= true, [25659]= true, [58512]= true, [45565]= true,
- [42305]= true, [45566]= true, [62350]= true, [7753]= true,
- [45695]= true, [9513]= true, [18244]= true, [20626]= true,
- [45569]= true, [43779]= true, [18245]= true, [45571]= true,
- [18246]= true, [37836]= true, [57433]= true, [20916]= true,
- [58521]= true, [18247]= true, [57435]= true, [7754]= true,
- [53056]= true, [58523]= true, [57437]= true, [57438]= true,
- [58525]= true, [45570]= true, [2538]= true, [2540]= true,
- [2548]= true, [33290]= true, [45562]= true, [15906]= true,
- [18241]= true, [45559]= true, [45551]= true, [57443]= true,
- [58527]= true, [43758]= true, [58528]= true, [8238]= true,
- [7751]= true, [7755]= true, [43761]= true, [7827]= true,
- [45552]= true, [45553]= true,
- ---------------------------------------------------------------------------------------
-
-  ---------------------------------------------------------------------------------------
-  ---BLACKSMITHING
-   ---------------------------------------------------------------------------------------
- [10015] = true, [55202] = true, [16726] = true, [24399] = true,
-[15293] = true, [32655] = true, [3320] = true, [40033] = true,
-[34545] = true, [61010] = true, [16639] = true, [3115] = true,
-[3116] = true, [3117] = true, [16648] = true, [40034] = true,
- [9920] = true, [9928] = true, [29558] = true, [55839] = true,
- [9964] = true, [7818] = true, [55732] = true, [29694] = true,
- [3326] = true, [9950] = true, [59405] = true, [12260] = true,
- [16983] = true, [16991] = true, [23650] = true, [16640] = true,
- [2741] = true, [3513] = true, [3497] = true, [8768] = true,
- [19666] = true, [2662] = true, [2663] = true, [20201] = true,
- [16664] = true, [15294] = true, [3496] = true, [16645] = true,
- [29569] = true, [2737] = true, [14380] = true, [16992] = true,
- [36125] = true, [19667] = true, [22757] = true, [16665] = true,
- [59406] = true, [2738] = true, [2739] = true, [2740] = true,
- [24913] = true, [9933] = true, [20873] = true, [36126] = true,
- [40035] = true, [8880] = true, [23636] = true, [3292] = true,
- [3293] = true, [21161] = true, [32656] = true, [19668] = true,
- [9921] = true, [7222] = true, [3319] = true, [15295] = true,
- [20874] = true, [20890] = true, [3337] = true, [34546] = true,
- [16970] = true, [16978] = true, [61008] = true, [7224] = true,
- [11454] = true, [19669] = true, [55656] = true, [16667] = true,
- [16731] = true, [61009] = true, [9926] = true, [16984] = true,
- [21913] = true, [40036] = true, [9974] = true, [32657] = true,
- [32285] = true, [23638] = true, [10011] = true, [36131] = true,
- [27830] = true,  [32284] = true, [16732] = true, [15292] = true,
- [15296] = true, [38478] = true, [20876] = true, [38475] = true,
- [23653] = true, [3325] = true, [14379] = true,  [29729] = true,
- [2661] = true,  [29728] = true, [16655] = true, [16993] = true,
- [3491] = true, [3494] = true, [3501] = true, [9959] = true,
- [9983] = true, [36262] = true, [10003] = true, [10007] = true,
-  ---------------------------------------------------------------------------------------
-
-  ---------------------------------------------------------------------------------------
-----INSCRIPTION
-  ---------------------------------------------------------------------------------------
-  [58315] = true, [58331] = true, [58347] = true, [56974] = true, [56990] = true,
-[64256] = true, [64304] = true, [57166] = true, [57709] = true, [57214] = true,
- [57230] = true, [50603] = true, [57262] = true, [59338] = true, [58332] = true,
- [56959] = true, [56975] = true, [56991] = true, [57007] = true, [57023] = true,
- [53462] = true, [64257] = true, [64273] = true, [64289] = true, [57151] = true,
- [57167] = true, [57183] = true, [57710] = true, [57215] = true, [57247] = true,
- [50620] = true, [58301] = true, [59339] = true, [58333] = true, [59387] = true,
- [52840] = true, [59499] = true, [56960] = true, [56976] = true, [57008] = true,
- [57024] = true, [64258] = true, [64274] = true, [57168] = true, [57184] = true,
- [61288] = true, [57216] = true, [57232] = true, [58286] = true, [58302] = true,
- [59340] = true, [48114] = true, [64051] = true, [59484] = true, [59500] = true,
- [56961] = true, [56977] = true, [57009] = true, [57025] = true, [61177] = true,
- [64259] = true, [57121] = true, [64291] = true, [57153] = true, [57169] = true,
- [57185] = true, [57712] = true, [57217] = true, [57233] = true, [58287] = true,
- [58303] = true, [58319] = true, [56946] = true, [56978] = true, [56994] = true,
- [57010] = true, [57026] = true, [64260] = true, [57122] = true, [57154] = true,
- [57170] = true, [57186] = true, [57713] = true, [57218] = true, [57234] = true,
- [57266] = true, [59326] = true, [58320] = true, [58336] = true, [59486] = true,
- [59502] = true, [56963] = true, [56995] = true, [57011] = true, [57027] = true,
- [64261] = true, [64277] = true, [57155] = true, [57187] = true, [57714] = true,
- [57219] = true, [57235] = true, [58289] = true, [58305] = true, [58321] = true,
- [58337] = true, [69385] = true, [57243] = true, [64314] = true, [64313] = true,
- [56958] = true, [59487] = true, [59503] = true, [58288] = true, [56980] = true,
- [56996] = true, [57012] = true, [57028] = true, [59501] = true, [56948] = true,
- [57264] = true, [64246] = true, [64262] = true, [57124] = true, [64294] = true,
- [57156] = true, [57172] = true, [57188] = true, [57715] = true, [57220] = true,
- [57236] = true, [57268] = true, [58306] = true, [58322] = true, [58338] = true,
- [48247] = true, [57133] = true, [57270] = true, [57131] = true, [57129] = true,
- [50604] = true, [59488] = true, [59504] = true, [56965] = true, [56981] = true,
- [56997] = true, [57013] = true, [57029] = true, [64280] = true, [57114] = true,
- [64286] = true, [58299] = true, [57125] = true, [64295] = true, [64311] = true,
- [57164] = true, [57189] = true, [57716] = true, [57221] = true, [57237] = true,
- [57269] = true, [58307] = true, [58323] = true, [58339] = true, [64307] = true,
- [57119] = true, [57246] = true, [68166] = true, [64282] = true, [57250] = true,
- [59489] = true, [56957] = true, [56982] = true, [56998] = true, [57014] = true,
- [57117] = true, [64305] = true, [61677] = true, [52843] = true, [57126] = true,
- [64296] = true, [57158] = true, [64310] = true, [57190] = true, [56956] = true,
- [57238] = true, [60336] = true, [58308] = true, [58324] = true, [58340] = true,
- [64315] = true, [56949] = true, [56950] = true, [64308] = true, [56955] = true,
- [59490] = true, [59315] = true, [56983] = true, [56999] = true, [64267] = true,
- [57031] = true, [56954] = true, [64276] = true, [57249] = true, [64249] = true,
- [56953] = true, [57127] = true, [64297] = true, [57159] = true, [64275] = true,
- [57191] = true, [57207] = true, [57223] = true, [57239] = true, [50612] = true,
- [60337] = true, [57208] = true, [58325] = true, [48121] = true, [56952] = true,
- [56947] = true, [56951] = true, [64268] = true, [57123] = true, [59475] = true,
- [59491] = true, [56968] = true, [56984] = true, [57000] = true, [48248] = true,
- [58565] = true, [58317] = true, [64266] = true, [57252] = true, [64250] = true,
- [57112] = true, [57128] = true, [64298] = true, [57160] = true, [58316] = true,
- [57703] = true, [57719] = true, [57224] = true, [57240] = true, [57272] = true,
- [58310] = true, [58326] = true, [58342] = true, [57201] = true, [56945] = true,
-[57200] = true, [56944] = true, [57711] = true, [56985] = true, [57001] = true,
-[57199] = true, [57033] = true, [56943] = true, [57198] = true, [64251] = true,
-[57113] = true, [64283] = true, [64299] = true, [57161] = true, [57197] = true,
-[57704] = true, [57209] = true, [57225] = true, [57241] = true, [50614] = true,
-[57273] = true, [58311] = true, [58327] = true, [58343] = true, [52738] = true,
-[57196] = true, [64278] = true, [57195] = true, [58318] = true, [64284] = true,
-[57006] = true, [64316] = true, [56986] = true, [57002] = true, [59560] = true,
-[57034] = true, [58341] = true, [57192] = true, [64252] = true, [67600] = true,
- [57130] = true, [64300] = true, [57162] = true, [57244] = true,   [57194] = true,
- [57210] = true, [57226] = true, [50599] = true, [57258] = true, [58296] = true,
- [58312] = true, [58328] = true, [58344] = true, [52739] = true, [58298] = true,
- [57274] = true, [57265] = true, [57251] = true, [59478] = true, [56971] = true,
- [56987] = true, [57003] = true, [57019] = true, [57035] = true, [57259] = true,
- [57263] = true, [57271] = true, [64253] = true, [57115] = true, [64285] = true,
- [57242] = true, [57163] = true, [57120] = true, [57706] = true, [57211] = true,
- [57227] = true, [50600] = true, [50616] = true, [58297] = true, [58313] = true,
- [58329] = true, [58345] = true, [50602] = true, [57248] = true, [59559] = true,
- [57157] = true, [57257] = true, [64309] = true, [64317] = true, [56972] = true,
- [56988] = true, [57004] = true, [57020] = true, [57036] = true, [62162] = true,
- [57030] = true, [64254] = true, [57116] = true, [57132] = true, [64302] = true,
- [64318] = true, [64270] = true, [57707] = true, [57212] = true, [57228] = true,
- [50601] = true, [57260] = true, [57276] = true, [58314] = true, [58330] = true,
- [58346] = true, [45382] = true, [57267] = true, [57275] = true, [64312] = true,
- [64279] = true, [50598] = true, [59480] = true, [59496] = true, [56973] = true,
- [56989] = true, [57005] = true, [57021] = true, [50619] = true, [50618] = true,
- [65245] = true, [50617] = true, [64255] = true, [64271] = true, [64287] = true,
- [64303] = true, [57165] = true, [57181] = true, [57708] = true, [57213] = true,
- [57229] = true, [57245] = true, [57261] = true, [57277] = true, [57253] = true,
-   ---------------------------------------------------------------------------------------
-
-   ---------------------------------------------------------------------------------------
-----ENCHANTING
-   ---------------------------------------------------------------------------------------
-   [46578] = true, [25125] = true, [13612] = true, [13620] = true, [13628] = true,
-[13640] = true, [13644] = true, [13648] = true, [59625] = true, [13700] = true,
- [17181] = true, [27920] = true, [27960] = true, [28016] = true, [45765] = true,
- [14810] = true, [63746] = true, [13836] = true, [20008] = true, [20032] = true,
- [13868] = true, [13421] = true, [13948] = true, [27905] = true, [27945] = true,
- [13501] = true, [7786] = true, [7788] = true, [13529] = true, [32664] = true,
- [44506] = true, [25127] = true, [20025] = true, [20033] = true, [13617] = true,
- [64579] = true, [60619] = true, [13657] = true, [13693] = true, [27914] = true,
- [44555] = true, [27954] = true, [27962] = true, [14807] = true, [32665] = true,
- [7421] = true, [13817] = true, [25072] = true, [44492] = true, [44524] = true,
- [7443] = true, [44556] = true, [25128] = true, [20026] = true, [7457] = true,
- [13378] = true, [34001] = true, [13917] = true, [13933] = true, [13937] = true,
- [13941] = true, [44621] = true, [28003] = true, [28027] = true, [13522] = true,
- [13538] = true, [25081] = true, [44494] = true, [20011] = true, [25129] = true,
- [44590] = true, [47672] = true, [20051] = true, [13622] = true, [13626] = true,
- [69412] = true, [60623] = true, [44383] = true, [13698] = true, [13702] = true,
- [23804] = true, [44623] = true, [28004] = true, [28028] = true, [14293] = true,
- [32667] = true, [13822] = true, [25082] = true, [44576] = true, [20028] = true,
- [20036] = true, [13890] = true, [13898] = true, [60609] = true, [59619] = true,
- [47898] = true, [7745] = true, [27957] = true, [13503] = true, [34006] = true,
- [7793] = true, [7795] = true, [59636] = true, [25083] = true, [20029] = true,
- [13631] = true, [13655] = true, [7861] = true, [7863] = true, [62256] = true,
- [13695] = true, [13858] = true, [44483] = true, [27968] = true, [7857] = true,
- [27967] = true, [42615] = true, [27958] = true, [42613] = true, [25084] = true,
- [20017] = true, [33992] = true, [34008] = true, [13663] = true, [60653] = true,
- [44528] = true, [14809] = true, [27961] = true, [47901] = true, [7418] = true,
- [7420] = true, [44488] = true, [7426] = true, [44616] = true, [13841] = true,
- [44596] = true, [17180] = true, [7454] = true, [33993] = true, [34009] = true,
- [27950] = true, [20031] = true, [13915] = true, [47900] = true, [13943] = true,
- [13947] = true, [13945] = true, [13464] = true, [27927] = true, [7771] = true,
- [20014] = true, [20030] = true, [27947] = true, [33994] = true, [28022] = true,
- [60692] = true, [25130] = true, [34005] = true, [13794] = true, [7748] = true,
- [44588] = true, [15596] = true, [7776] = true, [44584] = true, [13607] = true,
- [13653] = true, [20020] = true,
-    ---------------------------------------------------------------------------------------
+	[55401] = true,			 [53995] = true,		 [66432] = true,		 [25255] = true,
+	[66497] = true, [53996] = true, [56074] = true, [56202] = true,
+	[66434] = true, [32801] = true, [28948] = true, [53997] = true,
+	[39963] = true, [32866] = true, [66501] = true, [39452] = true,
+	[53934] = true, [66502] = true, [55405] = true, [58954] = true,
+	[56205] = true, [37855] = true, [38175] = true, [25305] = true,
+	[25321] = true, [66505] = true, [54000] = true, [39742] = true,
+	[56206] = true, [66506] = true, [32869] = true, [54001] = true,
+	[56079] = true, [32259] = true, [32870] = true, [56208] = true,
+	[32807] = true, [32871] = true, [26873] = true, [31061] = true,
+	[32872] = true, [42591] = true, [46779] = true, [56530] = true,
+	[42592] = true, [31062] = true, [56083] = true, [32874] = true,
+	[56531] = true, [31063] = true, [56085] = true, [38503] = true,
+	[56086] = true, [28938] = true, [38504] = true, [31064] = true,
+	[31096] = true, [55384] = true, [25278] = true, [68253] = true,
+	[43493] = true, [26925] = true, [31065] = true, [46403] = true,
+	[53852] = true, [53916] = true, [39722] = true, [25615] = true,
+	[28924] = true, [26926] = true, [53853] = true, [36526] = true,
+	[31098] = true, [55388] = true, [46405] = true, [53854] = true,
+	[39724] = true, [55389] = true, [26927] = true, [31051] = true,
+	[53919] = true, [39725] = true, [55390] = true, [53856] = true,
+	[53920] = true, [53952] = true, [26880] = true, [53857] = true,
+	[31052] = true, [34069] = true, [25490] = true, [55393] = true,
+	[39451] = true, [53956] = true, [44794] = true, [36524] = true,
+	[55395] = true, [38068] = true, [28944] = true, [53957] = true,
+	[31066] = true, [31082] = true, [66428] = true, [26909] = true,
+	[55396] = true, [31097] = true, [25284] = true, [56084] = true,
+	[62941] = true, [66431] = true, [53894] = true, [53958] = true,
+	[58146] = true, [31099] = true, [47053] = true, [31067] = true,
+	[28917] = true, [26903] = true, [36525] = true, [66503] = true,
+	[56197] = true, [47054] = true, [53961] = true, [39715] = true,
+	[31092] = true, [53960] = true, [31077] = true, [31101] = true,
+	[39719] = true, [55399] = true, [31113] = true, [32808] = true,
+	[53917] = true, [63743] = true, [39720] = true, [39721] = true,
+	[42590] = true, [58149] = true, [56199] = true, [47056] = true,
+	[28950] = true, [47280] = true, [32809] = true, [31072] = true,
+	[25318] = true, [66429] = true, [62242] = true,
+	---------------------------------------------------------------------------------------
+
+	---------------------------------------------------------------------------------------
+	---COOKING
+	---------------------------------------------------------------------------------------
+	[62050]= true, [22761]= true, [62051]= true, [8607]= true,
+	[18238]= true, [6413]= true, [6417]= true, [42296]= true,
+	[45557]= true, [6501]= true, [45558]= true, [18239]= true,
+	[7752]= true, [7828]= true, [45560]= true, [64358]= true,
+	[57421]= true, [45561]= true, [13028]= true, [2543]= true,
+	[2545]= true, [25659]= true, [58512]= true, [45565]= true,
+	[42305]= true, [45566]= true, [62350]= true, [7753]= true,
+	[45695]= true, [9513]= true, [18244]= true, [20626]= true,
+	[45569]= true, [43779]= true, [18245]= true, [45571]= true,
+	[18246]= true, [37836]= true, [57433]= true, [20916]= true,
+	[58521]= true, [18247]= true, [57435]= true, [7754]= true,
+	[53056]= true, [58523]= true, [57437]= true, [57438]= true,
+	[58525]= true, [45570]= true, [2538]= true, [2540]= true,
+	[2548]= true, [33290]= true, [45562]= true, [15906]= true,
+	[18241]= true, [45559]= true, [45551]= true, [57443]= true,
+	[58527]= true, [43758]= true, [58528]= true, [8238]= true,
+	[7751]= true, [7755]= true, [43761]= true, [7827]= true,
+	[45552]= true, [45553]= true,
+	---------------------------------------------------------------------------------------
+
+	---------------------------------------------------------------------------------------
+	---BLACKSMITHING
+	---------------------------------------------------------------------------------------
+	[10015] = true, [55202] = true, [16726] = true, [24399] = true,
+	[15293] = true, [32655] = true, [3320] = true, [40033] = true,
+	[34545] = true, [61010] = true, [16639] = true, [3115] = true,
+	[3116] = true, [3117] = true, [16648] = true, [40034] = true,
+	[9920] = true, [9928] = true, [29558] = true, [55839] = true,
+	[9964] = true, [7818] = true, [55732] = true, [29694] = true,
+	[3326] = true, [9950] = true, [59405] = true, [12260] = true,
+	[16983] = true, [16991] = true, [23650] = true, [16640] = true,
+	[2741] = true, [3513] = true, [3497] = true, [8768] = true,
+	[19666] = true, [2662] = true, [2663] = true, [20201] = true,
+	[16664] = true, [15294] = true, [3496] = true, [16645] = true,
+	[29569] = true, [2737] = true, [14380] = true, [16992] = true,
+	[36125] = true, [19667] = true, [22757] = true, [16665] = true,
+	[59406] = true, [2738] = true, [2739] = true, [2740] = true,
+	[24913] = true, [9933] = true, [20873] = true, [36126] = true,
+	[40035] = true, [8880] = true, [23636] = true, [3292] = true,
+	[3293] = true, [21161] = true, [32656] = true, [19668] = true,
+	[9921] = true, [7222] = true, [3319] = true, [15295] = true,
+	[20874] = true, [20890] = true, [3337] = true, [34546] = true,
+	[16970] = true, [16978] = true, [61008] = true, [7224] = true,
+	[11454] = true, [19669] = true, [55656] = true, [16667] = true,
+	[16731] = true, [61009] = true, [9926] = true, [16984] = true,
+	[21913] = true, [40036] = true, [9974] = true, [32657] = true,
+	[32285] = true, [23638] = true, [10011] = true, [36131] = true,
+	[27830] = true,  [32284] = true, [16732] = true, [15292] = true,
+	[15296] = true, [38478] = true, [20876] = true, [38475] = true,
+	[23653] = true, [3325] = true, [14379] = true,  [29729] = true,
+	[2661] = true,  [29728] = true, [16655] = true, [16993] = true,
+	[3491] = true, [3494] = true, [3501] = true, [9959] = true,
+	[9983] = true, [36262] = true, [10003] = true, [10007] = true,
+	---------------------------------------------------------------------------------------
+
+	---------------------------------------------------------------------------------------
+	----INSCRIPTION
+	---------------------------------------------------------------------------------------
+	[58315] = true, [58331] = true, [58347] = true, [56974] = true, [56990] = true,
+	[64256] = true, [64304] = true, [57166] = true, [57709] = true, [57214] = true,
+	[57230] = true, [50603] = true, [57262] = true, [59338] = true, [58332] = true,
+	[56959] = true, [56975] = true, [56991] = true, [57007] = true, [57023] = true,
+	[53462] = true, [64257] = true, [64273] = true, [64289] = true, [57151] = true,
+	[57167] = true, [57183] = true, [57710] = true, [57215] = true, [57247] = true,
+	[50620] = true, [58301] = true, [59339] = true, [58333] = true, [59387] = true,
+	[52840] = true, [59499] = true, [56960] = true, [56976] = true, [57008] = true,
+	[57024] = true, [64258] = true, [64274] = true, [57168] = true, [57184] = true,
+	[61288] = true, [57216] = true, [57232] = true, [58286] = true, [58302] = true,
+	[59340] = true, [48114] = true, [64051] = true, [59484] = true, [59500] = true,
+	[56961] = true, [56977] = true, [57009] = true, [57025] = true, [61177] = true,
+	[64259] = true, [57121] = true, [64291] = true, [57153] = true, [57169] = true,
+	[57185] = true, [57712] = true, [57217] = true, [57233] = true, [58287] = true,
+	[58303] = true, [58319] = true, [56946] = true, [56978] = true, [56994] = true,
+	[57010] = true, [57026] = true, [64260] = true, [57122] = true, [57154] = true,
+	[57170] = true, [57186] = true, [57713] = true, [57218] = true, [57234] = true,
+	[57266] = true, [59326] = true, [58320] = true, [58336] = true, [59486] = true,
+	[59502] = true, [56963] = true, [56995] = true, [57011] = true, [57027] = true,
+	[64261] = true, [64277] = true, [57155] = true, [57187] = true, [57714] = true,
+	[57219] = true, [57235] = true, [58289] = true, [58305] = true, [58321] = true,
+	[58337] = true, [69385] = true, [57243] = true, [64314] = true, [64313] = true,
+	[56958] = true, [59487] = true, [59503] = true, [58288] = true, [56980] = true,
+	[56996] = true, [57012] = true, [57028] = true, [59501] = true, [56948] = true,
+	[57264] = true, [64246] = true, [64262] = true, [57124] = true, [64294] = true,
+	[57156] = true, [57172] = true, [57188] = true, [57715] = true, [57220] = true,
+	[57236] = true, [57268] = true, [58306] = true, [58322] = true, [58338] = true,
+	[48247] = true, [57133] = true, [57270] = true, [57131] = true, [57129] = true,
+	[50604] = true, [59488] = true, [59504] = true, [56965] = true, [56981] = true,
+	[56997] = true, [57013] = true, [57029] = true, [64280] = true, [57114] = true,
+	[64286] = true, [58299] = true, [57125] = true, [64295] = true, [64311] = true,
+	[57164] = true, [57189] = true, [57716] = true, [57221] = true, [57237] = true,
+	[57269] = true, [58307] = true, [58323] = true, [58339] = true, [64307] = true,
+	[57119] = true, [57246] = true, [68166] = true, [64282] = true, [57250] = true,
+	[59489] = true, [56957] = true, [56982] = true, [56998] = true, [57014] = true,
+	[57117] = true, [64305] = true, [61677] = true, [52843] = true, [57126] = true,
+	[64296] = true, [57158] = true, [64310] = true, [57190] = true, [56956] = true,
+	[57238] = true, [60336] = true, [58308] = true, [58324] = true, [58340] = true,
+	[64315] = true, [56949] = true, [56950] = true, [64308] = true, [56955] = true,
+	[59490] = true, [59315] = true, [56983] = true, [56999] = true, [64267] = true,
+	[57031] = true, [56954] = true, [64276] = true, [57249] = true, [64249] = true,
+	[56953] = true, [57127] = true, [64297] = true, [57159] = true, [64275] = true,
+	[57191] = true, [57207] = true, [57223] = true, [57239] = true, [50612] = true,
+	[60337] = true, [57208] = true, [58325] = true, [48121] = true, [56952] = true,
+	[56947] = true, [56951] = true, [64268] = true, [57123] = true, [59475] = true,
+	[59491] = true, [56968] = true, [56984] = true, [57000] = true, [48248] = true,
+	[58565] = true, [58317] = true, [64266] = true, [57252] = true, [64250] = true,
+	[57112] = true, [57128] = true, [64298] = true, [57160] = true, [58316] = true,
+	[57703] = true, [57719] = true, [57224] = true, [57240] = true, [57272] = true,
+	[58310] = true, [58326] = true, [58342] = true, [57201] = true, [56945] = true,
+	[57200] = true, [56944] = true, [57711] = true, [56985] = true, [57001] = true,
+	[57199] = true, [57033] = true, [56943] = true, [57198] = true, [64251] = true,
+	[57113] = true, [64283] = true, [64299] = true, [57161] = true, [57197] = true,
+	[57704] = true, [57209] = true, [57225] = true, [57241] = true, [50614] = true,
+	[57273] = true, [58311] = true, [58327] = true, [58343] = true, [52738] = true,
+	[57196] = true, [64278] = true, [57195] = true, [58318] = true, [64284] = true,
+	[57006] = true, [64316] = true, [56986] = true, [57002] = true, [59560] = true,
+	[57034] = true, [58341] = true, [57192] = true, [64252] = true, [67600] = true,
+	[57130] = true, [64300] = true, [57162] = true, [57244] = true, [57194] = true,
+	[57210] = true, [57226] = true, [50599] = true, [57258] = true, [58296] = true,
+	[58312] = true, [58328] = true, [58344] = true, [52739] = true, [58298] = true,
+	[57274] = true, [57265] = true, [57251] = true, [59478] = true, [56971] = true,
+	[56987] = true, [57003] = true, [57019] = true, [57035] = true, [57259] = true,
+	[57263] = true, [57271] = true, [64253] = true, [57115] = true, [64285] = true,
+	[57242] = true, [57163] = true, [57120] = true, [57706] = true, [57211] = true,
+	[57227] = true, [50600] = true, [50616] = true, [58297] = true, [58313] = true,
+	[58329] = true, [58345] = true, [50602] = true, [57248] = true, [59559] = true,
+	[57157] = true, [57257] = true, [64309] = true, [64317] = true, [56972] = true,
+	[56988] = true, [57004] = true, [57020] = true, [57036] = true, [62162] = true,
+	[57030] = true, [64254] = true, [57116] = true, [57132] = true, [64302] = true,
+	[64318] = true, [64270] = true, [57707] = true, [57212] = true, [57228] = true,
+	[50601] = true, [57260] = true, [57276] = true, [58314] = true, [58330] = true,
+	[58346] = true, [45382] = true, [57267] = true, [57275] = true, [64312] = true,
+	[64279] = true, [50598] = true, [59480] = true, [59496] = true, [56973] = true,
+	[56989] = true, [57005] = true, [57021] = true, [50619] = true, [50618] = true,
+	[65245] = true, [50617] = true, [64255] = true, [64271] = true, [64287] = true,
+	[64303] = true, [57165] = true, [57181] = true, [57708] = true, [57213] = true,
+	[57229] = true, [57245] = true, [57261] = true, [57277] = true, [57253] = true,
+	---------------------------------------------------------------------------------------
+
+	---------------------------------------------------------------------------------------
+	----ENCHANTING
+	---------------------------------------------------------------------------------------
+	[46578] = true, [25125] = true, [13612] = true, [13620] = true, [13628] = true,
+	[13640] = true, [13644] = true, [13648] = true, [59625] = true, [13700] = true,
+	[17181] = true, [27920] = true, [27960] = true, [28016] = true, [45765] = true,
+	[14810] = true, [63746] = true, [13836] = true, [20008] = true, [20032] = true,
+	[13868] = true, [13421] = true, [13948] = true, [27905] = true, [27945] = true,
+	[13501] = true, [7786] = true, [7788] = true, [13529] = true, [32664] = true,
+	[44506] = true, [25127] = true, [20025] = true, [20033] = true, [13617] = true,
+	[64579] = true, [60619] = true, [13657] = true, [13693] = true, [27914] = true,
+	[44555] = true, [27954] = true, [27962] = true, [14807] = true, [32665] = true,
+	[7421] = true, [13817] = true, [25072] = true, [44492] = true, [44524] = true,
+	[7443] = true, [44556] = true, [25128] = true, [20026] = true, [7457] = true,
+	[13378] = true, [34001] = true, [13917] = true, [13933] = true, [13937] = true,
+	[13941] = true, [44621] = true, [28003] = true, [28027] = true, [13522] = true,
+	[13538] = true, [25081] = true, [44494] = true, [20011] = true, [25129] = true,
+	[44590] = true, [47672] = true, [20051] = true, [13622] = true, [13626] = true,
+	[69412] = true, [60623] = true, [44383] = true, [13698] = true, [13702] = true,
+	[23804] = true, [44623] = true, [28004] = true, [28028] = true, [14293] = true,
+	[32667] = true, [13822] = true, [25082] = true, [44576] = true, [20028] = true,
+	[20036] = true, [13890] = true, [13898] = true, [60609] = true, [59619] = true,
+	[47898] = true, [7745] = true, [27957] = true, [13503] = true, [34006] = true,
+	[7793] = true, [7795] = true, [59636] = true, [25083] = true, [20029] = true,
+	[13631] = true, [13655] = true, [7861] = true, [7863] = true, [62256] = true,
+	[13695] = true, [13858] = true, [44483] = true, [27968] = true, [7857] = true,
+	[27967] = true, [42615] = true, [27958] = true, [42613] = true, [25084] = true,
+	[20017] = true, [33992] = true, [34008] = true, [13663] = true, [60653] = true,
+	[44528] = true, [14809] = true, [27961] = true, [47901] = true, [7418] = true,
+	[7420] = true, [44488] = true, [7426] = true, [44616] = true, [13841] = true,
+	[44596] = true, [17180] = true, [7454] = true, [33993] = true, [34009] = true,
+	[27950] = true, [20031] = true, [13915] = true, [47900] = true, [13943] = true,
+	[13947] = true, [13945] = true, [13464] = true, [27927] = true, [7771] = true,
+	[20014] = true, [20030] = true, [27947] = true, [33994] = true, [28022] = true,
+	[60692] = true, [25130] = true, [34005] = true, [13794] = true, [7748] = true,
+	[44588] = true, [15596] = true, [7776] = true, [44584] = true, [13607] = true,
+	[13653] = true, [20020] = true,
+	---------------------------------------------------------------------------------------

-    ---------------------------------------------------------------------------------------
----TAILORING
-    ---------------------------------------------------------------------------------------
+	---------------------------------------------------------------------------------------
+	---TAILORING
+	---------------------------------------------------------------------------------------
 	[12055] = true, [12059] = true, [12071] = true, [46131] = true, [23664] = true,
-[31433] = true, [31441] = true, [7624] = true, [26403] = true, [24902] = true,
- [22866] = true, [56001] = true, [18411] = true, [18419] = true, [18451] = true,
- [28208] = true, [6686] = true, [8766] = true, [23665] = true, [8786] = true,
- [26747] = true, [56002] = true, [26763] = true, [26779] = true, [31434] = true,
- [31450] = true, [60969] = true, [28480] = true, [22867] = true, [56003] = true,
- [18404] = true, [18412] = true, [18420] = true, [12044] = true, [63924] = true,
- [12056] = true, [12064] = true, [12080] = true, [12084] = true, [23666] = true,
- [56004] = true, [26780] = true, [31459] = true, [7892] = true, [60971] = true,
- [28481] = true, [22868] = true, [20848] = true, [56005] = true, [18405] = true,
- [19435] = true, [26086] = true, [18437] = true, [18453] = true, [27659] = true,
- [28210] = true, [40021] = true, [23667] = true, [26773] = true, [26781] = true,
- [26759] = true, [8774] = true, [31460] = true, [24903] = true, [3755] = true,
- [37882] = true, [3757] = true, [3758] = true, [50194] = true, [18446] = true,
- [6692] = true, [28482] = true, [22869] = true, [18439] = true, [20849] = true,
- [18440] = true, [2389] = true, [56007] = true, [18455] = true, [6521] = true,
- [18445] = true, [18406] = true, [18414] = true, [18422] = true, [12045] = true,
- [36318] = true, [18454] = true, [27660] = true, [24091] = true, [12065] = true,
- [12069] = true, [12077] = true, [12081] = true, [12085] = true, [27724] = true,
- [12093] = true, [40060] = true, [26087] = true, [26749] = true, [31373] = true,
- [26750] = true, [26782] = true, [28205] = true, [28209] = true, [36686] = true,
- [3813] = true, [2394] = true, [7629] = true, [18438] = true, [7633] = true,
- [40023] = true, [49677] = true, [26407] = true, [18452] = true, [7643] = true,
- [22870] = true, [26755] = true, [22902] = true, [3869] = true, [55993] = true,
- [8789] = true, [3839] = true, [3841] = true, [3844] = true, [18407] = true,
- [18415] = true, [3847] = true, [3848] = true, [3851] = true, [3852] = true,
- [24092] = true, [3854] = true, [3856] = true, [3857] = true, [8760] = true,
- [27725] = true, [8776] = true, [8780] = true, [8784] = true, [3865] = true,
- [55994] = true, [3868] = true, [26783] = true, [3871] = true, [3872] = true,
- [3873] = true, [31438] = true, [22759] = true, [12091] = true, [8804] = true,
- [8772] = true, [18560] = true, [18447] = true, [44950] = true, [60993] = true,
- [55899] = true, [55898] = true, [55995] = true, [2385] = true, [21945] = true,
- [6688] = true, [12066] = true, [18416] = true, [8465] = true, [12046] = true,
- [18448] = true, [3915] = true, [24093] = true, [8489] = true, [2386] = true,
- [12078] = true, [12082] = true, [60994] = true, [55900] = true, [2392] = true,
- [2393] = true, [23662] = true, [2396] = true, [55996] = true, [2399] = true,
- [26784] = true, [2402] = true, [2403] = true, [2406] = true, [31431] = true,
- [3864] = true, [8782] = true, [37884] = true, [37883] = true, [26751] = true,
- [50647] = true, [8802] = true, [8467] = true, [7893] = true, [40020] = true,
- [41208] = true, [22813] = true, [41207] = true, [37873] = true, [2387] = true,
- [55997] = true, [26085] = true, [8799] = true, [27658] = true, [8483] = true,
- [3914] = true, [18401] = true, [56006] = true, [18441] = true, [18449] = true,
- [28207] = true, [55769] = true, [18413] = true, [18421] = true, [46129] = true,
- [2963] = true, [2964] = true, [12061] = true, [12086] = true, [23663] = true,
- [26745] = true, [55998] = true, [3863] = true, [8764] = true, [31440] = true,
- [31448] = true, [12089] = true, [6695] = true, [40024] = true, [60990] = true,
- [50644] = true, [8793] = true, [46130] = true, [24901] = true, [3870] = true,
- [31437] = true, [44958] = true, [55999] = true, [3845] = true, [6693] = true,
- [3866] = true, [18456] = true, [18410] = true, [18418] = true, [2397] = true,
- [18434] = true, [18450] = true,
-     ---------------------------------------------------------------------------------------
+	[31433] = true, [31441] = true, [7624] = true, [26403] = true, [24902] = true,
+	[22866] = true, [56001] = true, [18411] = true, [18419] = true, [18451] = true,
+	[28208] = true, [6686] = true, [8766] = true, [23665] = true, [8786] = true,
+	[26747] = true, [56002] = true, [26763] = true, [26779] = true, [31434] = true,
+	[31450] = true, [60969] = true, [28480] = true, [22867] = true, [56003] = true,
+	[18404] = true, [18412] = true, [18420] = true, [12044] = true, [63924] = true,
+	[12056] = true, [12064] = true, [12080] = true, [12084] = true, [23666] = true,
+	[56004] = true, [26780] = true, [31459] = true, [7892] = true, [60971] = true,
+	[28481] = true, [22868] = true, [20848] = true, [56005] = true, [18405] = true,
+	[19435] = true, [26086] = true, [18437] = true, [18453] = true, [27659] = true,
+	[28210] = true, [40021] = true, [23667] = true, [26773] = true, [26781] = true,
+	[26759] = true, [8774] = true, [31460] = true, [24903] = true, [3755] = true,
+	[37882] = true, [3757] = true, [3758] = true, [50194] = true, [18446] = true,
+	[6692] = true, [28482] = true, [22869] = true, [18439] = true, [20849] = true,
+	[18440] = true, [2389] = true, [56007] = true, [18455] = true, [6521] = true,
+	[18445] = true, [18406] = true, [18414] = true, [18422] = true, [12045] = true,
+	[36318] = true, [18454] = true, [27660] = true, [24091] = true, [12065] = true,
+	[12069] = true, [12077] = true, [12081] = true, [12085] = true, [27724] = true,
+	[12093] = true, [40060] = true, [26087] = true, [26749] = true, [31373] = true,
+	[26750] = true, [26782] = true, [28205] = true, [28209] = true, [36686] = true,
+	[3813] = true, [2394] = true, [7629] = true, [18438] = true, [7633] = true,
+	[40023] = true, [49677] = true, [26407] = true, [18452] = true, [7643] = true,
+	[22870] = true, [26755] = true, [22902] = true, [3869] = true, [55993] = true,
+	[8789] = true, [3839] = true, [3841] = true, [3844] = true, [18407] = true,
+	[18415] = true, [3847] = true, [3848] = true, [3851] = true, [3852] = true,
+	[24092] = true, [3854] = true, [3856] = true, [3857] = true, [8760] = true,
+	[27725] = true, [8776] = true, [8780] = true, [8784] = true, [3865] = true,
+	[55994] = true, [3868] = true, [26783] = true, [3871] = true, [3872] = true,
+	[3873] = true, [31438] = true, [22759] = true, [12091] = true, [8804] = true,
+	[8772] = true, [18560] = true, [18447] = true, [44950] = true, [60993] = true,
+	[55899] = true, [55898] = true, [55995] = true, [2385] = true, [21945] = true,
+	[6688] = true, [12066] = true, [18416] = true, [8465] = true, [12046] = true,
+	[18448] = true, [3915] = true, [24093] = true, [8489] = true, [2386] = true,
+	[12078] = true, [12082] = true, [60994] = true, [55900] = true, [2392] = true,
+	[2393] = true, [23662] = true, [2396] = true, [55996] = true, [2399] = true,
+	[26784] = true, [2402] = true, [2403] = true, [2406] = true, [31431] = true,
+	[3864] = true, [8782] = true, [37884] = true, [37883] = true, [26751] = true,
+	[50647] = true, [8802] = true, [8467] = true, [7893] = true, [40020] = true,
+	[41208] = true, [22813] = true, [41207] = true, [37873] = true, [2387] = true,
+	[55997] = true, [26085] = true, [8799] = true, [27658] = true, [8483] = true,
+	[3914] = true, [18401] = true, [56006] = true, [18441] = true, [18449] = true,
+	[28207] = true, [55769] = true, [18413] = true, [18421] = true, [46129] = true,
+	[2963] = true, [2964] = true, [12061] = true, [12086] = true, [23663] = true,
+	[26745] = true, [55998] = true, [3863] = true, [8764] = true, [31440] = true,
+	[31448] = true, [12089] = true, [6695] = true, [40024] = true, [60990] = true,
+	[50644] = true, [8793] = true, [46130] = true, [24901] = true, [3870] = true,
+	[31437] = true, [44958] = true, [55999] = true, [3845] = true, [6693] = true,
+	[3866] = true, [18456] = true, [18410] = true, [18418] = true, [2397] = true,
+	[18434] = true, [18450] = true,
+	---------------------------------------------------------------------------------------

-     ---------------------------------------------------------------------------------------
-	 ----LEATHERWORKING
-	 ---------------------------------------------------------------------------------------
-[9198] = true, [23704] = true, [60996] = true, [35549] = true, [22921] = true,
- [50958] = true, [10509] = true, [10525] = true, [19053] = true, [19085] = true,
- [19101] = true, [2149] = true, [36349] = true, [2153] = true, [60997] = true,
- [2159] = true, [2163] = true, [2165] = true, [35582] = true, [50959] = true,
- [46132] = true, [23705] = true, [60998] = true, [22922] = true, [46133] = true,
- [24121] = true, [19054] = true, [19070] = true, [19086] = true, [19102] = true,
- [32465] = true, [32481] = true, [22331] = true, [35520] = true, [35584] = true,
- [9207] = true, [6661] = true, [46134] = true, [23706] = true, [61000] = true,
- [35521] = true, [35585] = true, [50962] = true, [10518] = true, [39997] = true,
- [24122] = true, [19055] = true, [19087] = true, [19103] = true, [32466] = true,
- [32482] = true, [36353] = true, [35522] = true, [35554] = true, [50963] = true,
- [44953] = true, [46136] = true, [23707] = true, [61002] = true, [35523] = true,
- [35555] = true, [35587] = true, [50964] = true, [46137] = true, [24123] = true,
- [19072] = true, [19104] = true, [9064] = true, [9072] = true, [69386] = true,
- [32499] = true, [36355] = true, [7133] = true, [35524] = true, [35588] = true,
- [7153] = true, [9208] = true, [46138] = true, [23708] = true, [69388] = true,
- [35525] = true, [35557] = true, [10487] = true, [10511] = true, [46139] = true,
- [24124] = true, [19073] = true, [19089] = true, [32468] = true, [32500] = true,
- [10647] = true, [28472] = true, [35526] = true, [35558] = true, [45117] = true,
- [60622] = true, [23709] = true, [35527] = true, [3774] = true, [3778] = true,
- [3780] = true, [40003] = true, [24125] = true, [19058] = true, [19074] = true,
- [32485] = true, [32501] = true, [36359] = true, [3816] = true, [3818] = true,
- [28473] = true, [35528] = true, [35560] = true, [9193] = true, [40004] = true,
- [23710] = true, [8322] = true, [35529] = true, [35561] = true, [50970] = true,
- [2881] = true, [10520] = true, [40005] = true, [10544] = true, [10552] = true,
- [10560] = true, [19091] = true, [19107] = true, [32454] = true, [32502] = true,
- [28474] = true, [35530] = true, [50971] = true, [62448] = true, [7953] = true,
- [41157] = true, [36074] = true, [24846] = true, [35531] = true, [22928] = true,
- [28219] = true, [41158] = true, [36075] = true, [32487] = true, [32503] = true,
- [7126] = true, [9146] = true, [35532] = true, [35564] = true, [9194] = true,
- [9202] = true, [24655] = true, [36076] = true, [24847] = true, [35533] = true,
- [5244] = true, [10529] = true, [28220] = true, [19093] = true, [32456] = true,
- [52733] = true, [2158] = true, [2160] = true, [2162] = true, [2166] = true,
- [24848] = true, [35535] = true, [35567] = true, [28221] = true, [19094] = true,
- [44359] = true, [57690] = true, [32457] = true, [32473] = true, [32489] = true,
- [9147] = true, [35536] = true, [35568] = true, [9195] = true, [41163] = true,
- [6703] = true, [24849] = true, [20853] = true, [10482] = true, [10490] = true,
- [28222] = true, [10546] = true, [10554] = true, [41164] = true, [10570] = true,
- [19095] = true, [57692] = true, [32458] = true, [10650] = true, [35538] = true,
- [42731] = true, [24850] = true, [20854] = true, [44970] = true, [28223] = true,
- [19048] = true, [19064] = true, [19080] = true, [57694] = true, [9148] = true,
- [35540] = true, [35572] = true, [24851] = true, [20855] = true, [45100] = true,
- [10531] = true, [28224] = true, [57696] = true, [10619] = true, [19081] = true,
- [22727] = true, [35539] = true, [19079] = true, [10566] = true, [19065] = true,
- [10574] = true, [19097] = true, [60647] = true, [3753] = true, [9065] = true,
- [44343] = true, [3763] = true, [3767] = true, [3773] = true, [3775] = true,
- [3777] = true, [3779] = true, [32455] = true, [24940] = true, [19050] = true,
- [19082] = true, [23190] = true, [32461] = true, [60999] = true, [3817] = true,
- [44344] = true, [9149] = true, [35544] = true, [9197] = true, [19077] = true,
- [9060] = true, [19076] = true, [35573] = true, [40001] = true, [19066] = true,
- [19090] = true, [19098] = true, [22711] = true, [57699] = true, [9059] = true,
- [32480] = true, [64661] = true, [10562] = true, [40002] = true, [50936] = true,
- [6705] = true, [9058] = true, [24703] = true, [22923] = true, [60645] = true,
- [35577] = true, [2152] = true, [10556] = true, [10572] = true, [44770] = true,
- [36077] = true, [19059] = true, [19075] = true, [35580] = true, [20648] = true,
- [2169] = true, [60643] = true, [19088] = true, [6702] = true, [6704] = true,
- [35543] = true, [7149] = true, [36078] = true, [36079] = true, [23703] = true,
- [35534] = true, [57701] = true, [46135] = true, [19047] = true, [20649] = true,
- [40006] = true, [3765] = true, [41156] = true, [3771] = true, [50956] = true,
- [19061] = true, [20650] = true, [32467] = true, [35537] = true, [22926] = true,
- [4096] = true, [19062] = true, [44768] = true, [35576] = true, [19063] = true,
- [9062] = true, [9070] = true, [32495] = true,
- ---------------------------------------------------------------------------------------
-
-  ---------------------------------------------------------------------------------------
- -----ALCHEMY
-   ---------------------------------------------------------------------------------------
-  [53898] = true, [28579] = true, [17566] = true, [53771] = true, [7256] = true,
-[53899] = true, [11452] = true, [11460] = true, [11468] = true, [3170] = true,
- [3172] = true, [3174] = true, [3176] = true, [53836] = true, [53900] = true,
- [28564] = true, [28580] = true, [54220] = true, [17551] = true, [53773] = true,
- [53837] = true, [62213] = true, [54221] = true, [53774] = true, [53838] = true,
- [6617] = true, [53902] = true, [28581] = true, [2331] = true, [2335] = true,
- [2337] = true, [53775] = true, [53839] = true, [11453] = true, [7836] = true,
- [24266] = true, [41500] = true, [53904] = true, [53936] = true, [28566] = true,
- [28582] = true, [3452] = true, [3454] = true, [33732] = true, [17553] = true,
- [22732] = true, [53777] = true, [53905] = true, [53937] = true, [33733] = true,
- [62409] = true, [25146] = true, [41502] = true, [53938] = true, [28551] = true,
- [28567] = true, [28583] = true, [62410] = true, [7181] = true, [17570] = true,
- [17634] = true, [53779] = true, [7257] = true, [53939] = true, [11478] = true,
- [17187] = true, [53812] = true, [28552] = true, [28568] = true, [28584] = true,
- [60366] = true, [57425] = true, [17635] = true, [53781] = true, [60367] = true,
- [4508] = true, [53782] = true, [24365] = true, [6618] = true, [53942] = true,
- [28569] = true, [28585] = true, [29688] = true, [57427] = true, [17556] = true,
- [17572] = true, [17636] = true, [53783] = true, [11479] = true, [7837] = true,
- [7841] = true, [53784] = true, [24366] = true, [53848] = true, [28554] = true,
- [28570] = true, [28586] = true, [58868] = true, [33741] = true, [24367] = true,
- [28555] = true, [28571] = true, [17574] = true, [17638] = true, [7258] = true,
- [11448] = true, [11456] = true, [11464] = true, [11480] = true, [3171] = true,
- [3173] = true, [3175] = true, [24368] = true, [28572] = true, [28588] = true,
- [45061] = true, [66658] = true, [17559] = true, [17575] = true, [66659] = true,
- [66660] = true, [63732] = true, [28573] = true, [66662] = true, [17560] = true,
- [2330] = true, [2332] = true, [2334] = true, [66663] = true, [11457] = true,
- [11465] = true, [11473] = true, [66664] = true, [3449] = true, [3451] = true,
- [3453] = true, [17561] = true, [17577] = true, [28543] = true, [28575] = true,
- [7179] = true, [17562] = true, [17578] = true, [7255] = true, [7259] = true,
- [11458] = true, [11466] = true, [38962] = true, [53776] = true, [12609] = true,
- [53780] = true, [60893] = true, [58871] = true, [3448] = true, [3450] = true,
- [3447] = true, [4942] = true, [28576] = true, [15833] = true, [17576] = true,
- [41503] = true, [60350] = true, [41501] = true, [17563] = true, [42736] = true,
- [54213] = true, [41458] = true, [6624] = true, [39636] = true, [28577] = true,
- [32765] = true, [38070] = true, [17564] = true, [17580] = true, [53895] = true,
- [11451] = true, [39637] = true, [28546] = true, [28562] = true, [28578] = true,
- [60354] = true, [32766] = true, [17565] = true, [22808] = true, [39639] = true,
- [60355] = true, [56519] = true,
-  ---------------------------------------------------------------------------------------
-
-  ---------------------------------------------------------------------------------------
-  ----ENGINEERING
-  ---------------------------------------------------------------------------------------
-  [23081] = true, [12586] = true, [12594] = true, [12622] = true, [30347] = true,
-[44391] = true, [30547] = true, [56464] = true, [12754] = true, [12758] = true,
- [23489] = true, [23082] = true, [8243] = true, [9269] = true, [30316] = true,
- [30332] = true, [12906] = true, [8339] = true, [26420] = true, [56514] = true,
- [39971] = true, [12599] = true, [12603] = true, [12607] = true, [43676] = true,
- [12619] = true, [54998] = true, [30349] = true, [56468] = true, [12755] = true,
- [12759] = true, [63750] = true, [39973] = true, [56465] = true, [56469] = true,
- [30318] = true, [30334] = true, [55016] = true, [12903] = true, [54793] = true,
- [19795] = true, [8895] = true, [19819] = true, [30558] = true, [39895] = true,
- [23069] = true, [23077] = true, [12596] = true, [30303] = true, [56471] = true,
- [12624] = true, [19796] = true, [56472] = true, [12760] = true, [63770] = true,
- [23070] = true, [23078] = true, [61471] = true, [30304] = true, [30312] = true,
- [12908] = true, [12597] = true, [3930] = true, [24356] = true, [67839] = true,
- [67326] = true, [56474] = true, [30560] = true, [30568] = true, [30314] = true,
- [3929] = true, [56475] = true, [19830] = true, [3946] = true, [54736] = true,
- [30563] = true, [24357] = true, [30337] = true, [12591] = true, [19814] = true,
- [60866] = true, [12716] = true, [23071] = true, [23079] = true, [12585] = true,
- [3923] = true, [3925] = true, [30305] = true, [12621] = true, [30329] = true,
- [3931] = true, [3932] = true, [3933] = true, [3936] = true, [3937] = true,
- [3938] = true, [3939] = true, [3941] = true, [56473] = true, [3944] = true,
- [3945] = true, [3947] = true, [54999] = true, [3949] = true, [3950] = true,
- [26417] = true, [12717] = true, [3954] = true, [3955] = true, [3957] = true,
- [3958] = true, [3961] = true, [3962] = true, [3963] = true, [3965] = true,
- [3966] = true, [3967] = true, [3968] = true, [3969] = true, [3971] = true,
- [3972] = true, [3973] = true, [7430] = true, [3977] = true, [3978] = true,
- [3979] = true, [19790] = true, [23080] = true, [12620] = true, [30309] = true,
- [30346] = true, [12905] = true, [41307] = true, [8334] = true, [56460] = true,
- [56476] = true, [12718] = true, [26418] = true, [19791] = true, [3960] = true,
- [19815] = true, [13240] = true, [19831] = true, [30570] = true, [19799] = true,
- [30306] = true, [30310] = true, [26011] = true, [36954] = true, [3919] = true,
- [3920] = true, [19800] = true, [12617] = true, [30311] = true, [56463] = true,
----------------------------------------------------------------------------------------
+	---------------------------------------------------------------------------------------
+	----LEATHERWORKING
+	---------------------------------------------------------------------------------------
+	[9198] = true, [23704] = true, [60996] = true, [35549] = true, [22921] = true,
+	[50958] = true, [10509] = true, [10525] = true, [19053] = true, [19085] = true,
+	[19101] = true, [2149] = true, [36349] = true, [2153] = true, [60997] = true,
+	[2159] = true, [2163] = true, [2165] = true, [35582] = true, [50959] = true,
+	[46132] = true, [23705] = true, [60998] = true, [22922] = true, [46133] = true,
+	[24121] = true, [19054] = true, [19070] = true, [19086] = true, [19102] = true,
+	[32465] = true, [32481] = true, [22331] = true, [35520] = true, [35584] = true,
+	[9207] = true, [6661] = true, [46134] = true, [23706] = true, [61000] = true,
+	[35521] = true, [35585] = true, [50962] = true, [10518] = true, [39997] = true,
+	[24122] = true, [19055] = true, [19087] = true, [19103] = true, [32466] = true,
+	[32482] = true, [36353] = true, [35522] = true, [35554] = true, [50963] = true,
+	[44953] = true, [46136] = true, [23707] = true, [61002] = true, [35523] = true,
+	[35555] = true, [35587] = true, [50964] = true, [46137] = true, [24123] = true,
+	[19072] = true, [19104] = true, [9064] = true, [9072] = true, [69386] = true,
+	[32499] = true, [36355] = true, [7133] = true, [35524] = true, [35588] = true,
+	[7153] = true, [9208] = true, [46138] = true, [23708] = true, [69388] = true,
+	[35525] = true, [35557] = true, [10487] = true, [10511] = true, [46139] = true,
+	[24124] = true, [19073] = true, [19089] = true, [32468] = true, [32500] = true,
+	[10647] = true, [28472] = true, [35526] = true, [35558] = true, [45117] = true,
+	[60622] = true, [23709] = true, [35527] = true, [3774] = true, [3778] = true,
+	[3780] = true, [40003] = true, [24125] = true, [19058] = true, [19074] = true,
+	[32485] = true, [32501] = true, [36359] = true, [3816] = true, [3818] = true,
+	[28473] = true, [35528] = true, [35560] = true, [9193] = true, [40004] = true,
+	[23710] = true, [8322] = true, [35529] = true, [35561] = true, [50970] = true,
+	[2881] = true, [10520] = true, [40005] = true, [10544] = true, [10552] = true,
+	[10560] = true, [19091] = true, [19107] = true, [32454] = true, [32502] = true,
+	[28474] = true, [35530] = true, [50971] = true, [62448] = true, [7953] = true,
+	[41157] = true, [36074] = true, [24846] = true, [35531] = true, [22928] = true,
+	[28219] = true, [41158] = true, [36075] = true, [32487] = true, [32503] = true,
+	[7126] = true, [9146] = true, [35532] = true, [35564] = true, [9194] = true,
+	[9202] = true, [24655] = true, [36076] = true, [24847] = true, [35533] = true,
+	[5244] = true, [10529] = true, [28220] = true, [19093] = true, [32456] = true,
+	[52733] = true, [2158] = true, [2160] = true, [2162] = true, [2166] = true,
+	[24848] = true, [35535] = true, [35567] = true, [28221] = true, [19094] = true,
+	[44359] = true, [57690] = true, [32457] = true, [32473] = true, [32489] = true,
+	[9147] = true, [35536] = true, [35568] = true, [9195] = true, [41163] = true,
+	[6703] = true, [24849] = true, [20853] = true, [10482] = true, [10490] = true,
+	[28222] = true, [10546] = true, [10554] = true, [41164] = true, [10570] = true,
+	[19095] = true, [57692] = true, [32458] = true, [10650] = true, [35538] = true,
+	[42731] = true, [24850] = true, [20854] = true, [44970] = true, [28223] = true,
+	[19048] = true, [19064] = true, [19080] = true, [57694] = true, [9148] = true,
+	[35540] = true, [35572] = true, [24851] = true, [20855] = true, [45100] = true,
+	[10531] = true, [28224] = true, [57696] = true, [10619] = true, [19081] = true,
+	[22727] = true, [35539] = true, [19079] = true, [10566] = true, [19065] = true,
+	[10574] = true, [19097] = true, [60647] = true, [3753] = true, [9065] = true,
+	[44343] = true, [3763] = true, [3767] = true, [3773] = true, [3775] = true,
+	[3777] = true, [3779] = true, [32455] = true, [24940] = true, [19050] = true,
+	[19082] = true, [23190] = true, [32461] = true, [60999] = true, [3817] = true,
+	[44344] = true, [9149] = true, [35544] = true, [9197] = true, [19077] = true,
+	[9060] = true, [19076] = true, [35573] = true, [40001] = true, [19066] = true,
+	[19090] = true, [19098] = true, [22711] = true, [57699] = true, [9059] = true,
+	[32480] = true, [64661] = true, [10562] = true, [40002] = true, [50936] = true,
+	[6705] = true, [9058] = true, [24703] = true, [22923] = true, [60645] = true,
+	[35577] = true, [2152] = true, [10556] = true, [10572] = true, [44770] = true,
+	[36077] = true, [19059] = true, [19075] = true, [35580] = true, [20648] = true,
+	[2169] = true, [60643] = true, [19088] = true, [6702] = true, [6704] = true,
+	[35543] = true, [7149] = true, [36078] = true, [36079] = true, [23703] = true,
+	[35534] = true, [57701] = true, [46135] = true, [19047] = true, [20649] = true,
+	[40006] = true, [3765] = true, [41156] = true, [3771] = true, [50956] = true,
+	[19061] = true, [20650] = true, [32467] = true, [35537] = true, [22926] = true,
+	[4096] = true, [19062] = true, [44768] = true, [35576] = true, [19063] = true,
+	[9062] = true, [9070] = true, [32495] = true,
+	---------------------------------------------------------------------------------------
+
+	---------------------------------------------------------------------------------------
+	-----ALCHEMY
+	---------------------------------------------------------------------------------------
+	[53898] = true, [28579] = true, [17566] = true, [53771] = true, [7256] = true,
+	[53899] = true, [11452] = true, [11460] = true, [11468] = true, [3170] = true,
+	[3172] = true, [3174] = true, [3176] = true, [53836] = true, [53900] = true,
+	[28564] = true, [28580] = true, [54220] = true, [17551] = true, [53773] = true,
+	[53837] = true, [62213] = true, [54221] = true, [53774] = true, [53838] = true,
+	[6617] = true, [53902] = true, [28581] = true, [2331] = true, [2335] = true,
+	[2337] = true, [53775] = true, [53839] = true, [11453] = true, [7836] = true,
+	[24266] = true, [41500] = true, [53904] = true, [53936] = true, [28566] = true,
+	[28582] = true, [3452] = true, [3454] = true, [33732] = true, [17553] = true,
+	[22732] = true, [53777] = true, [53905] = true, [53937] = true, [33733] = true,
+	[62409] = true, [25146] = true, [41502] = true, [53938] = true, [28551] = true,
+	[28567] = true, [28583] = true, [62410] = true, [7181] = true, [17570] = true,
+	[17634] = true, [53779] = true, [7257] = true, [53939] = true, [11478] = true,
+	[17187] = true, [53812] = true, [28552] = true, [28568] = true, [28584] = true,
+	[60366] = true, [57425] = true, [17635] = true, [53781] = true, [60367] = true,
+	[4508] = true, [53782] = true, [24365] = true, [6618] = true, [53942] = true,
+	[28569] = true, [28585] = true, [29688] = true, [57427] = true, [17556] = true,
+	[17572] = true, [17636] = true, [53783] = true, [11479] = true, [7837] = true,
+	[7841] = true, [53784] = true, [24366] = true, [53848] = true, [28554] = true,
+	[28570] = true, [28586] = true, [58868] = true, [33741] = true, [24367] = true,
+	[28555] = true, [28571] = true, [17574] = true, [17638] = true, [7258] = true,
+	[11448] = true, [11456] = true, [11464] = true, [11480] = true, [3171] = true,
+	[3173] = true, [3175] = true, [24368] = true, [28572] = true, [28588] = true,
+	[45061] = true, [66658] = true, [17559] = true, [17575] = true, [66659] = true,
+	[66660] = true, [63732] = true, [28573] = true, [66662] = true, [17560] = true,
+	[2330] = true, [2332] = true, [2334] = true, [66663] = true, [11457] = true,
+	[11465] = true, [11473] = true, [66664] = true, [3449] = true, [3451] = true,
+	[3453] = true, [17561] = true, [17577] = true, [28543] = true, [28575] = true,
+	[7179] = true, [17562] = true, [17578] = true, [7255] = true, [7259] = true,
+	[11458] = true, [11466] = true, [38962] = true, [53776] = true, [12609] = true,
+	[53780] = true, [60893] = true, [58871] = true, [3448] = true, [3450] = true,
+	[3447] = true, [4942] = true, [28576] = true, [15833] = true, [17576] = true,
+	[41503] = true, [60350] = true, [41501] = true, [17563] = true, [42736] = true,
+	[54213] = true, [41458] = true, [6624] = true, [39636] = true, [28577] = true,
+	[32765] = true, [38070] = true, [17564] = true, [17580] = true, [53895] = true,
+	[11451] = true, [39637] = true, [28546] = true, [28562] = true, [28578] = true,
+	[60354] = true, [32766] = true, [17565] = true, [22808] = true, [39639] = true,
+	[60355] = true, [56519] = true,
+	---------------------------------------------------------------------------------------
+
+	---------------------------------------------------------------------------------------
+	----ENGINEERING
+	---------------------------------------------------------------------------------------
+	[23081] = true, [12586] = true, [12594] = true, [12622] = true, [30347] = true,
+	[44391] = true, [30547] = true, [56464] = true, [12754] = true, [12758] = true,
+	[23489] = true, [23082] = true, [8243] = true, [9269] = true, [30316] = true,
+	[30332] = true, [12906] = true, [8339] = true, [26420] = true, [56514] = true,
+	[39971] = true, [12599] = true, [12603] = true, [12607] = true, [43676] = true,
+	[12619] = true, [54998] = true, [30349] = true, [56468] = true, [12755] = true,
+	[12759] = true, [63750] = true, [39973] = true, [56465] = true, [56469] = true,
+	[30318] = true, [30334] = true, [55016] = true, [12903] = true, [54793] = true,
+	[19795] = true, [8895] = true, [19819] = true, [30558] = true, [39895] = true,
+	[23069] = true, [23077] = true, [12596] = true, [30303] = true, [56471] = true,
+	[12624] = true, [19796] = true, [56472] = true, [12760] = true, [63770] = true,
+	[23070] = true, [23078] = true, [61471] = true, [30304] = true, [30312] = true,
+	[12908] = true, [12597] = true, [3930] = true, [24356] = true, [67839] = true,
+	[67326] = true, [56474] = true, [30560] = true, [30568] = true, [30314] = true,
+	[3929] = true, [56475] = true, [19830] = true, [3946] = true, [54736] = true,
+	[30563] = true, [24357] = true, [30337] = true, [12591] = true, [19814] = true,
+	[60866] = true, [12716] = true, [23071] = true, [23079] = true, [12585] = true,
+	[3923] = true, [3925] = true, [30305] = true, [12621] = true, [30329] = true,
+	[3931] = true, [3932] = true, [3933] = true, [3936] = true, [3937] = true,
+	[3938] = true, [3939] = true, [3941] = true, [56473] = true, [3944] = true,
+	[3945] = true, [3947] = true, [54999] = true, [3949] = true, [3950] = true,
+	[26417] = true, [12717] = true, [3954] = true, [3955] = true, [3957] = true,
+	[3958] = true, [3961] = true, [3962] = true, [3963] = true, [3965] = true,
+	[3966] = true, [3967] = true, [3968] = true, [3969] = true, [3971] = true,
+	[3972] = true, [3973] = true, [7430] = true, [3977] = true, [3978] = true,
+	[3979] = true, [19790] = true, [23080] = true, [12620] = true, [30309] = true,
+	[30346] = true, [12905] = true, [41307] = true, [8334] = true, [56460] = true,
+	[56476] = true, [12718] = true, [26418] = true, [19791] = true, [3960] = true,
+	[19815] = true, [13240] = true, [19831] = true, [30570] = true, [19799] = true,
+	[30306] = true, [30310] = true, [26011] = true, [36954] = true, [3919] = true,
+	[3920] = true, [19800] = true, [12617] = true, [30311] = true, [56463] = true,
+	---------------------------------------------------------------------------------------
 }

 local function LoadRecipe()
-	local recipe_list = addon.recipe_list
+	local recipe_list = private.recipe_list

-	if (not recipe_list) then
-		if (addon.db.profile.autoloaddb) then
+	if not recipe_list then
+		if addon.db.profile.autoloaddb then
 			local dbloaded
 			dbloaded, recipe_list = addon:InitRecipeData()

-			if (not dbloaded) then return end
+			if not dbloaded then return end

 			for idx, prof in pairs(PROFESSIONS) do
 				addon:InitializeRecipe(prof)
@@ -1039,7 +1042,7 @@ local function LoadRecipe()
 		end
 	else
 		-- Recipe DB exists, we just need to populate it now
-		if (addon.db.profile.autoloaddb) then
+		if addon.db.profile.autoloaddb then
 			for idx, prof in pairs(PROFESSIONS) do
 				addon:InitializeRecipe(prof)
 			end
@@ -1216,8 +1219,8 @@ do

 				-- Parse acquire info
 				for j in pairs(acquire) do
-					if (acquire[j]["Type"] == 1) then
-						if (acquire[j]["ID"] == targetID) then
+					if (acquire[j].type == 1) then
+						if (acquire[j].ID == targetID) then
 							found = true
 						end
 					end
@@ -1236,8 +1239,8 @@ do
 				local found = false
 				-- Parse acquire info
 				for j in pairs(acquire) do
-					if (acquire[j]["Type"] == 1) then
-						if (acquire[j]["ID"] == targetID) then
+					if (acquire[j].type == 1) then
+						if (acquire[j].ID == targetID) then
 							found = true
 						end
 					end
@@ -1510,10 +1513,10 @@ do
 						local found = false

 						for i in pairs(acquire) do
-							local atype = acquire[i]["Type"]
+							local atype = acquire[i].type
 							-- If the acquire type is a vendor
-							if (((atype == 2) and (acquire[i]["ID"] == targetID))
-							    or ((atype == 6) and (acquire[i]["RepVendor"] == targetID))) then
+							if (((atype == 2) and (acquire[i].ID == targetID))
+							    or ((atype == 6) and (acquire[i].rep_vendor == targetID))) then
 								found = true
 							end
 						end
@@ -2251,22 +2254,22 @@ do
 			tinsert(missing_flags, repid)

 			for i, j in pairs(acquire) do
-				if (acquire[j]["Type"] == 6) then
+				if acquire[j].type == 6 then
 					local tmpacquire = acquire[j]

-					if (tmpacquire["RepLevel"] ~= scan_data.repidlevel) then
+					if tmpacquire.rep_level ~= scan_data.repidlevel then
 						tinsert(output, "Rep level wrong. " .. recipe_name .. " (" .. spell_id .. ")")
 					end
 				end
 			end
 		end

-		if (#missing_flags > 0) or (#extra_flags > 0) then
+		if #missing_flags > 0 or #extra_flags > 0 then
 			addedtotable = true
 			tinsert(output, recipe_name .. " (" .. spell_id .. ")")

 			-- Add a string of the missing flag numbers
-			if (#missing_flags > 0) then
+			if #missing_flags > 0 then
 				tinsert(output, "Missing flags: " .. tconcat(missing_flags, ", "))
 			end

diff --git a/Frame.lua b/Frame.lua
index 60bafe9..a40ae8c 100644
--- a/Frame.lua
+++ b/Frame.lua
@@ -48,14 +48,17 @@ local tostring = _G.tostring
 -------------------------------------------------------------------------------
 local LibStub = LibStub

-local MODNAME		= "Ackis Recipe List"
-local addon		= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
+local MODNAME	= "Ackis Recipe List"
+local addon	= LibStub("AceAddon-3.0"):GetAddon(MODNAME)

-local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
-local L			= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
-local QTip		= LibStub("LibQTip-1.0")
+local BFAC	= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
+local L		= LibStub("AceLocale-3.0"):GetLocale(MODNAME)
+local QTip	= LibStub("LibQTip-1.0")

-local Player		= addon.Player
+-- Set up the private intra-file namespace.
+local private	= select(2, ...)
+
+local Player	= private.Player

 -------------------------------------------------------------------------------
 -- Constants
@@ -361,7 +364,7 @@ local SortRecipeList
 do
 	addon.sorted_recipes = {}

-	local recipe_list = addon.recipe_list
+	local recipe_list = private.recipe_list

 	local function Sort_SkillAsc(a, b)
 		local reca, recb = recipe_list[a], recipe_list[b]
@@ -396,15 +399,15 @@ do
 			return not not reca
 		end

-		if reca["Type"] ~= recb["Type"] then
-			return reca["Type"] < recb["Type"]
+		if reca.type ~= recb.type then
+			return reca.type < recb.type
 		end

-		if reca["Type"] == A_CUSTOM then
-			if reca["ID"] == recb["ID"] then
+		if reca.type == A_CUSTOM then
+			if reca.ID == recb.ID then
 				return recipe_list[a].name < recipe_list[b].name
 			else
-				return reca["ID"] < recb["ID"]
+				return reca.ID < recb.ID
 			end
 		else
 			return recipe_list[a].name < recipe_list[b].name
@@ -439,7 +442,7 @@ do
 		local sorted_recipes = addon.sorted_recipes
 		twipe(sorted_recipes)

-		for n, v in pairs(addon.recipe_list) do
+		for n, v in pairs(private.recipe_list) do
 			tinsert(sorted_recipes, n)
 		end
 		table.sort(sorted_recipes, sortFuncs[addon.db.profile.sorting])
@@ -588,7 +591,7 @@ do
 	function GenerateTooltipContent(owner, rIndex)
 		local spell_tip_anchor = addon.db.profile.spelltooltiplocation
 		local acquire_tip_anchor = addon.db.profile.acquiretooltiplocation
-		local recipe_entry = addon.recipe_list[rIndex]
+		local recipe_entry = private.recipe_list[rIndex]
 		local spell_link = recipe_entry.spell_link
 		local MainPanel = addon.Frame

@@ -673,14 +676,14 @@ do
 		ttAdd(0, -1, false, L["Obtained From"] .. " : ", addon:hexcolor("NORMAL"))

 		local playerFaction = Player["Faction"]
-		local rep_list = addon.reputation_list
+		local rep_list = private.reputation_list

 		for index, acquire in pairs(recipe_entry["Acquire"]) do
-			local acquire_type = acquire["Type"]
+			local acquire_type = acquire.type
 			local display_tip = false

 			if acquire_type == A_TRAINER then
-				local trainer = addon.trainer_list[acquire["ID"]]
+				local trainer = private.trainer_list[acquire.ID]

 				color_1 = addon:hexcolor("TRAINER")
 				display_tip, color_2 = GetTipFactionInfo(trainer["Faction"])
@@ -699,7 +702,7 @@ do
 					ttAdd(1, -2, true, trainer["Location"], color_1, coord_text, color_2)
 				end
 			elseif acquire_type == A_VENDOR then
-				local vendor = addon.vendor_list[acquire["ID"]]
+				local vendor = private.vendor_list[acquire.ID]
 				local faction

 				color_1 = addon:hexcolor("VENDOR")
@@ -721,7 +724,7 @@ do
 					ttAdd(0, -1, false, faction.." "..L["Vendor"], color_1)
 				end
 			elseif acquire_type == A_MOB then
-				local mob = addon.mob_list[acquire["ID"]]
+				local mob = private.mob_list[acquire.ID]
 				local coord_text = ""

 				if mob["Coordx"] ~= 0 and mob["Coordy"] ~= 0 then
@@ -737,7 +740,7 @@ do

 				ttAdd(1, -2, true, mob["Location"], color_1, coord_text, color_2)
 			elseif acquire_type == A_QUEST then
-				local quest = addon.quest_list[acquire["ID"]]
+				local quest = private.quest_list[acquire.ID]

 				if quest then
 					local faction
@@ -763,15 +766,15 @@ do
 				end
 			elseif acquire_type == A_SEASONAL then
 				color_1 = addon:hexcolor("SEASON")
-				ttAdd(0, -1, 0, SEASONAL_CATEGORY, color_1, addon.seasonal_list[acquire["ID"]]["Name"], color_1)
+				ttAdd(0, -1, 0, SEASONAL_CATEGORY, color_1, private.seasonal_list[acquire.ID]["Name"], color_1)
 			elseif acquire_type == A_REPUTATION then
-				local repvendor = addon.vendor_list[acquire["RepVendor"]]
+				local repvendor = private.vendor_list[acquire.rep_vendor]
 				local coord_text = ""

 				if repvendor["Coordx"] ~= 0 and repvendor["Coordy"] ~= 0 then
 					coord_text = "(" .. repvendor["Coordx"] .. ", " .. repvendor["Coordy"] .. ")"
 				end
-				local repfac = rep_list[acquire["ID"]]
+				local repfac = rep_list[acquire.ID]
 				local repname = repfac["Name"]

 				color_1 = addon:hexcolor("REP")
@@ -779,7 +782,7 @@ do
 				ttAdd(0, -1, false, _G.REPUTATION, color_1, repname, color_2)

 				local rStr = ""
-				local rep_level = acquire["RepLevel"]
+				local rep_level = acquire.rep_level

 				if rep_level == 0 then
 					rStr = FACTION_NEUTRAL
@@ -808,7 +811,7 @@ do
 					ttAdd(2, -2, true, repvendor["Location"], color_1, coord_text, color_2)
 				end
 			elseif acquire_type == A_WORLD_DROP then
-				local acquire_id = acquire["ID"]
+				local acquire_id = acquire.ID

 				if acquire_id == 1 then
 					color_1 = addon:hexcolor("COMMON")
@@ -823,9 +826,9 @@ do
 				end
 				ttAdd(0, -1, false, L["World Drop"], color_1)
 			elseif acquire_type == A_CUSTOM then
-				ttAdd(0, -1, false, addon.custom_list[acquire["ID"]]["Name"], addon:hexcolor("NORMAL"))
+				ttAdd(0, -1, false, private.custom_list[acquire.ID]["Name"], addon:hexcolor("NORMAL"))
 			elseif acquire_type == A_PVP then
-				local vendor = addon.vendor_list[acquire["ID"]]
+				local vendor = private.vendor_list[acquire.ID]
 				local faction

 				color_1 = addon:hexcolor("VENDOR")
@@ -2149,7 +2152,7 @@ do

 	function MainPanel.scroll_frame:Update(expand_acquires, refresh)
 		local sorted_recipes = addon.sorted_recipes
-		local recipe_list = addon.recipe_list
+		local recipe_list = private.recipe_list
 		local exclusions = addon.db.profile.exclusionlist
 		local sort_type = addon.db.profile.sorting
 		local skill_sort = (sort_type == "SkillAsc" or sort_type == "SkillDesc")
@@ -2336,15 +2339,15 @@ do
 		-- value should be the index of the next button after the expansion occurs
 		entry_index = entry_index + 1

-		for index, acquire in pairs(addon.recipe_list[recipe_id]["Acquire"]) do
+		for index, acquire in pairs(private.recipe_list[recipe_id]["Acquire"]) do
 			-- Initialize the first line here, since every type below will have one.
-			local acquire_type = acquire["Type"]
+			local acquire_type = acquire.type
 			local t = AcquireTable()
 			t.recipe_id = recipe_id
 			t.is_expanded = true

 			if acquire_type == A_TRAINER and obtain_filters.trainer then
-				local trainer = addon.trainer_list[acquire["ID"]]
+				local trainer = private.trainer_list[acquire.ID]

 				if CheckDisplayFaction(trainer["Faction"]) then
 					local nStr = ""
@@ -2378,7 +2381,7 @@ do
 				-- We need to display the vendor in the drop down if we want to see vendors or if we want to see PVP
 				-- This allows us to select PVP only and to see just the PVP recipes
 			elseif acquire_type == A_VENDOR and (obtain_filters.vendor or obtain_filters.pvp) then
-				local vendor = addon.vendor_list[acquire["ID"]]
+				local vendor = private.vendor_list[acquire.ID]

 				if CheckDisplayFaction(vendor["Faction"]) then
 					local nStr = ""
@@ -2410,7 +2413,7 @@ do
 				end
 				-- Mobs can be in instances, raids, or specific mob related drops.
 			elseif acquire_type == A_MOB and (obtain_filters.mobdrop or obtain_filters.instance or obtain_filters.raid) then
-				local mob = addon.mob_list[acquire["ID"]]
+				local mob = private.mob_list[acquire.ID]
 				t.text = pad .. addon:MobDrop(L["Mob Drop"] .. " : ") .. addon:Red(mob["Name"])

 				tinsert(self.entries, entry_index, t)
@@ -2429,7 +2432,7 @@ do
 				tinsert(self.entries, entry_index, t)
 				entry_index = entry_index + 1
 			elseif acquire_type == A_QUEST and obtain_filters.quest then
-				local quest = addon.quest_list[acquire["ID"]]
+				local quest = private.quest_list[acquire.ID]

 				if CheckDisplayFaction(quest["Faction"]) then
 					local nStr = ""
@@ -2460,7 +2463,7 @@ do
 					entry_index = entry_index + 1
 				end
 			elseif acquire_type == A_SEASONAL and obtain_filters.seasonal then
-				t.text = pad .. addon:Season(SEASONAL_CATEGORY .. " : " .. addon.seasonal_list[acquire["ID"]]["Name"])
+				t.text = pad .. addon:Season(SEASONAL_CATEGORY .. " : " .. private.seasonal_list[acquire.ID]["Name"])
 				tinsert(self.entries, entry_index, t)
 				entry_index = entry_index + 1
 			elseif acquire_type == A_REPUTATION then -- Need to check if we're displaying the currently id'd rep or not as well
@@ -2468,10 +2471,10 @@ do
 				-- Rep: ID, Faction
 				-- RepLevel = 0 (Neutral), 1 (Friendly), 2 (Honored), 3 (Revered), 4 (Exalted)
 				-- RepVendor - VendorID
-				local rep_vendor = addon.vendor_list[acquire["RepVendor"]]
+				local rep_vendor = private.vendor_list[acquire.rep_vendor]

 				if CheckDisplayFaction(rep_vendor["Faction"]) then
-					t.text = pad .. addon:Rep(_G.REPUTATION .. " : ") .. addon.reputation_list[acquire["ID"]]["Name"]
+					t.text = pad .. addon:Rep(_G.REPUTATION .. " : ") .. private.reputation_list[acquire.ID]["Name"]
 					tinsert(self.entries, entry_index, t)
 					entry_index = entry_index + 1

@@ -2497,7 +2500,7 @@ do
 					t.recipe_id = recipe_id
 					t.is_expanded = true

-					t.text = pad .. pad .. faction_strings[acquire["RepLevel"]] .. nStr
+					t.text = pad .. pad .. faction_strings[acquire.rep_level] .. nStr

 					tinsert(self.entries, entry_index, t)
 					entry_index = entry_index + 1
@@ -2516,15 +2519,15 @@ do
 					entry_index = entry_index + 1
 				end
 			elseif acquire_type == A_WORLD_DROP and obtain_filters.worlddrop then
-				t.text = pad .. addon:RarityColor(acquire["ID"] + 1, L["World Drop"])
+				t.text = pad .. addon:RarityColor(acquire.ID + 1, L["World Drop"])
 				tinsert(self.entries, entry_index, t)
 				entry_index = entry_index + 1
 			elseif acquire_type == A_CUSTOM then
-				t.text = pad .. addon:Normal(addon.custom_list[acquire["ID"]]["Name"])
+				t.text = pad .. addon:Normal(private.custom_list[acquire.ID]["Name"])
 				tinsert(self.entries, entry_index, t)
 				entry_index = entry_index + 1
 			elseif acquire_type == A_PVP and obtain_filters.pvp then
-				local vendor = addon.vendor_list[acquire["ID"]]
+				local vendor = private.vendor_list[acquire.ID]

 				if CheckDisplayFaction(vendor["Faction"]) then
 					local coord_text = ""
@@ -2699,26 +2702,26 @@ do
 		local mapvendor = addon.db.profile.mapvendor
 		local mapmob = addon.db.profile.mapmob
 		local player_faction = Player["Faction"]
-		local acquire_type = acquire_entry["Type"]
-		local acquire_id = acquire_entry["ID"]
+		local acquire_type = acquire_entry.type
+		local acquire_id = acquire_entry.ID
 		local display = false

 		if acquire_type == A_TRAINER and maptrainer then
-			local trainer = addon.trainer_list[acquire_id]
+			local trainer = private.trainer_list[acquire_id]

 			display = (trainer["Faction"] == BFAC[player_faction] or trainer["Faction"] == FACTION_NEUTRAL)
 		elseif acquire_type == A_VENDOR and mapvendor then
-			local vendor = addon.vendor_list[acquire_id]
+			local vendor = private.vendor_list[acquire_id]

 			display = (vendor["Faction"] == BFAC[player_faction] or vendor["Faction"] == FACTION_NEUTRAL)
 		elseif acquire_type == A_REPUTATION and mapvendor then
-			local vendor = addon.vendor_list[acquire_entry["RepVendor"]]
+			local vendor = private.vendor_list[acquire_entry.rep_vendor]

 			display = (vendor["Faction"] == BFAC[player_faction] or vendor["Faction"] == FACTION_NEUTRAL)
 		elseif acquire_type == A_MOB and mapmob then
 			return true
 		elseif  acquire_type == A_QUEST and mapquest then
-			local quest = addon.quest_list[acquire_id]
+			local quest = private.quest_list[acquire_id]

 			display = (quest["Faction"] == BFAC[player_faction] or quest["Faction"] == FACTION_NEUTRAL)
 		elseif acquire_type == A_CUSTOM then
@@ -2986,7 +2989,7 @@ do
 		--		end
 		twipe(maplist)

-		local recipe_list = addon.recipe_list
+		local recipe_list = private.recipe_list

 		-- We're only getting a single recipe, not a bunch
 		if single_recipe then
@@ -3033,22 +3036,22 @@ do
 		for entry in pairs(maplist) do
 			local loc
 			local custom = false
-			local id_num = entry["ID"]
-			local acquire_type = entry["Type"]
+			local id_num = entry.ID
+			local acquire_type = entry.type

 			-- Get the entries location
 			if acquire_type == A_TRAINER then
-				loc = addon.trainer_list[id_num]
+				loc = private.trainer_list[id_num]
 			elseif acquire_type == A_VENDOR then
-				loc = addon.vendor_list[id_num]
+				loc = private.vendor_list[id_num]
 			elseif acquire_type == A_REPUTATION then
-				loc = addon.vendor_list[entry["RepVendor"]]
+				loc = private.vendor_list[entry.rep_vendor]
 			elseif acquire_type == A_MOB then
-				loc = addon.mob_list[id_num]
+				loc = private.mob_list[id_num]
 			elseif acquire_type == A_QUEST then
-				loc = addon.quest_list[id_num]
+				loc = private.quest_list[id_num]
 			elseif acquire_type == A_CUSTOM then
-				loc = addon.custom_list[id_num]
+				loc = private.custom_list[id_num]
 				custom = true
 			end

@@ -3419,7 +3422,7 @@ function addon:InitializeFrame()
 			end
 			pattern = pattern:lower()

-			local recipe_list = addon.recipe_list
+			local recipe_list = private.recipe_list

 			for index in pairs(recipe_list) do
 				local entry = recipe_list[index]
@@ -3466,7 +3469,7 @@ function addon:InitializeFrame()

 	ARL_ClearButton:SetScript("OnClick",
 				  function()
-					  local recipe_list = addon.recipe_list
+					  local recipe_list = private.recipe_list

 					  -- Reset the search flags
 					  for index in pairs(recipe_list) do
@@ -3562,7 +3565,7 @@ function addon:InitializeFrame()
 				if IsControlKeyDown() and IsShiftKeyDown() then
 					addon:SetupMap(clicked_line.recipe_id)
 				elseif IsShiftKeyDown() then
-					local itemID = addon.recipe_list[clicked_line.recipe_id].item_id
+					local itemID = private.recipe_list[clicked_line.recipe_id].item_id

 					if itemID then
 						local _, itemLink = GetItemInfo(itemID)
@@ -3576,7 +3579,7 @@ function addon:InitializeFrame()
 						addon:Print(L["NoItemLink"])
 					end
 				elseif IsControlKeyDown() then
-					ChatFrameEditBox:Insert(addon.recipe_list[clicked_line.recipe_id].spell_link)
+					ChatFrameEditBox:Insert(private.recipe_list[clicked_line.recipe_id].spell_link)
 				elseif IsAltKeyDown() then
 					-- Code needed here to insert this item into the "Ignore List"
 					addon:ToggleExcludeRecipe(clicked_line.recipe_id)
diff --git a/Player.lua b/Player.lua
index 00e33dd..8d605f4 100644
--- a/Player.lua
+++ b/Player.lua
@@ -43,7 +43,9 @@ local addon		= LibStub("AceAddon-3.0"):GetAddon(MODNAME)
 local BFAC		= LibStub("LibBabble-Faction-3.0"):GetLookupTable()
 local L			= LibStub("AceLocale-3.0"):GetLocale(MODNAME)

-local Player		= addon.Player
+local private		= select(2, ...)
+
+local Player		= private.Player

 -------------------------------------------------------------------------------
 -- Constants
@@ -63,7 +65,7 @@ local A_TRAINER, A_VENDOR, A_MOB, A_QUEST, A_SEASONAL, A_REPUTATION, A_WORLD_DRO
 function Player:MarkExclusions()
 	local exclusion_list = addon.db.profile.exclusionlist
 	local ignored = not addon.db.profile.ignoreexclusionlist
-	local recipe_list = addon.recipe_list
+	local recipe_list = private.recipe_list
 	local profession = self["Profession"]
 	local known_count = 0
 	local unknown_count = 0
@@ -104,12 +106,12 @@ function Player:HasProperRepLevel(recipe_index)
 	local has_faction = true
 	local is_alliance = self["Faction"] == BFAC["Alliance"]
 	local player_rep = self["Reputation"]
-	local acquire_info = addon.recipe_list[recipe_index]["Acquire"]
-	local reputations = addon.reputation_list
+	local acquire_info = private.recipe_list[recipe_index]["Acquire"]
+	local reputations = private.reputation_list

 	for index in pairs(acquire_info) do
-		if acquire_info[index]["Type"] == A_REPUTATION then
-			local rep_id = acquire_info[index]["ID"]
+		if acquire_info[index].type == A_REPUTATION then
+			local rep_id = acquire_info[index].ID

 			if rep_id == REP_HONOR_HOLD or rep_id == REP_THRALLMAR then
 				rep_id = is_alliance and REP_HONOR_HOLD or REP_THRALLMAR
@@ -118,7 +120,7 @@ function Player:HasProperRepLevel(recipe_index)
 			end
 			local rep_name = reputations[rep_id]["Name"]

-			if not player_rep[rep_name] or player_rep[rep_name] < acquire_info[index]["RepLevel"] then
+			if not player_rep[rep_name] or player_rep[rep_name] < acquire_info[index].rep_level then
 				has_faction = false
 			else
 				-- The player's faction level is high enough to learn the recipe. Set to true and break out.