<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
	<Script>
		function ConsolePort:LoadPlugin(name, loader)
			local path = ('PLUGINS/%s'):format(name)
			local loader = loader or self:GetData(path)
			if loader then
				pcall(loader, self)
				self:GetData(path, nil)
			end
		end

		function ConsolePort:AddPlugin(name, loader)
			local loadable, reason = select(4, GetAddOnInfo(name))
			if loadable or (reason ~= 'MISSING') then
				self:GetData(('PLUGINS/%s'):format(name), loader)
			end
		end
	</Script>

	<Script file="Blizzard_BindingUI.lua"/>
	<Script file="Blizzard_MapCanvas.lua"/>
	<Script file="Blizzard_Collections.lua"/>
	<Script file="Storyline.lua"/>
	<Script file="Misc.lua"/>
</Ui>

<!-- 
	How to add a plugin for another addon to ConsolePort:
	1) Create a lua file inside ConsolePort\Plugins for your addon with the same name.
	2) Add a <Script> tag above with a reference to the file you have created.
	3) Write your plugin code as you see fit.
	4) How to insert your code into the plugin loader (this segment can be copied):
		
		 1) Upvalue ConsolePort's addon table at the top of your file:
		local _, db = ... 

		2) Insert a table entry for your addon with the title as key:
		db('PLUGINS/MyAddOn', function(ConsolePort)

			 3) Do what you have to do. 

			 4) (Optional) Node modification to prevent unwanted and wonky UI behaviour:
			Flags:
				hasPriority:
					Choose these nodes above all else,
					providing smart snap behaviour when searching
					for the most appropriate node to focus.
				ignoreNode:
					Ignore these nodes completely,
					since they are pointless or annoying to deal with.
				ignoreMenu:
					Will not cause the game menu to hide itself
					whenever one of these nodes are clicked.
				ignoreScroll:
					Will not attempt to automatically scroll
					these frames when a child node within is focused.
				includeChildren:
					Will ignore the host widget, but include all
					children widgets contained inside.

			Example:
			myImporantButton.hasPriority = true
			myAnnoyingButton.ignoreNode = true
			myMinimapButton.ignoreMenu = true

			5) (Optional) Add hard-coded frame hook:
			ConsolePort:AddFrame(MyAddOnFrame)
		end)
 -->
