@ remaining stuff

This commit is contained in:
codeimp 2010-08-23 19:09:46 +00:00
parent bfd00c73cd
commit 75ef865b08
7 changed files with 294 additions and 1 deletions

158
Documents/usdf20.txt Normal file
View file

@ -0,0 +1,158 @@
===============================================================================
Universal Strife Dialog Format Specification v2.0 - 08/20/10
Written by Braden "Blzut3" Obrzut - admin@maniacsvault.net
Defined with input from:
CodeImp
Gez
Graf Zahl
Quasar
et al.
Copyright (c) 2010 Braden Obrzut.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
===============================================================================
=======================================
I. Grammar / Syntax
=======================================
The grammar and syntax is similar to that of UDMF. A compliant UDMF parser
should be applyable to the USDF. However, it will need to be capable of
handling sub-blocks. Unknown sub-blocks should be skipped.
=======================================
II. Implementation Semantics
=======================================
------------------------------------
II.A : Storage and Retrieval of Data
------------------------------------
This is the same as in UDMF.
-----------------------------------
II.B : Storage Within Archive Files
-----------------------------------
There are two options for the USDF lump placement. This can either be a part
of the UDMF lump list or standalone. If used stand alone the lump name
DIALOGXY is used corresponding with MAPXY. For UDMF the lump shall be called
"DIALOGUE".
--------------------------------
II.C : Implementation Dependence
--------------------------------
USDF also implements the namespace statement. This has all the same
requirements as UDMF.
=======================================
III. Standardized Fields
=======================================
The following are required for all USDF complient implementations. Like UDMF,
any unknown field/function should be ignored and not treated as an error.
NOTE: "mobj" refers to Strife's conversationIDs and not doom editor numbers or
Hexen's spawnids. A valid mobj value is any positive integer greater
than or equal to 1.
---------------------
III.A : Conversations
---------------------
Conversations are groups of pages that can be assigned to a particular object.
Implementors should preserve the IDs to allow for dynamic reassignment through
scripting although this is not a requirement.
conversation // Starts a dialog.
{
actor = <integer>; // mobj for this conversation's actor. If previously
// used, this will override the previous conversation.
page // Starts a new page. Pages are automatically numbered starting at 0.
{
name = <string>; // Name that goes in the upper left hand corner
panel = <string>; // Name of lump to render as the background.
voice = <string>; // Narration sound lump.
dialog = <string>; // Dialog of the page.
drop = <integer>; // mobj for the object to drop if the actor is
// killed.
link = <integer>; // Page to jump to if all ifitem conditions are
// satisified.
// jumps to the specified page if the player has the specified amount
// or more of item in their inventory. This can be repeated as many
// times as the author wants, all conditions must be met for the
// jump to occur.
ifitem
{
item = <integer>; // mobj of item to check.
amount = <integer>; // amount required to be in inventory.
}
// Choices shall be automatically numbered.
choice
{
text = <string>; // Name of the choice.
// The amount of an item needed to successfully pick this option.
// This can be repeated, but only the first will be shown (provided
// diaplaycost is true). All costs must be satisfied for success.
cost
{
item = <integer>; // Item that is required for this option.
amount = <integer>; // Minimum amount of the item needed.
}
displaycost = <bool>; // Weather the cost should be
// displayed with the option.
// If no cost is specified this should
// be ignored.
yesmessage = <string>; // Text to add to console when choice
// is accepted.
nomessage = <string>; // Text to add to console when choice
// is denied.
log = <string>; // LOG entry to use on success.
giveitem = <integer>; // Gives the specified item upon
// success.
// The following are the same as the special for linedefs in UDMF.
// They are executed on success.
special = <integer>;
arg0 = <integer>;
arg1 = <integer>;
arg2 = <integer>;
arg3 = <integer>;
arg4 = <integer>;
nextpage = <integer>; // Sets the next page.
closedialog = <bool>; // Should the dialog be closed upon
// selecting this choice?
// Default: false
}
}
}
-------------------------------
III.B : Including Other Dialogs
-------------------------------
Unlike the original Strife dialog format. The lump "SCRIPT00" should not be
included automatically. Instead the user must specify this behavior by using
the include function, which takes the name of a lump to include. Include only
needs to be available in the global scope and for compatibility reasons, must
include the result of the script and not act like a preprocessor statement.
include = <string>;
===============================================================================
EOF
===============================================================================

BIN
Resources/Icons/Dialog2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 695 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 B

View file

@ -28,14 +28,43 @@ namespace CodeImp.DoomBuilder.USDF
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.tree = new System.Windows.Forms.TreeView();
this.treeimages = new System.Windows.Forms.ImageList(this.components);
this.SuspendLayout();
//
// tree
//
this.tree.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.tree.HideSelection = false;
this.tree.ImageIndex = 0;
this.tree.ImageList = this.treeimages;
this.tree.Indent = 22;
this.tree.ItemHeight = 18;
this.tree.Location = new System.Drawing.Point(12, 12);
this.tree.Name = "tree";
this.tree.PathSeparator = ".";
this.tree.SelectedImageIndex = 0;
this.tree.Size = new System.Drawing.Size(257, 588);
this.tree.TabIndex = 0;
//
// treeimages
//
this.treeimages.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("treeimages.ImageStream")));
this.treeimages.TransparentColor = System.Drawing.Color.Transparent;
this.treeimages.Images.SetKeyName(0, "Dialog2.png");
this.treeimages.Images.SetKeyName(1, "book_closed.png");
this.treeimages.Images.SetKeyName(2, "book_open.png");
this.treeimages.Images.SetKeyName(3, "page_user.png");
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(813, 612);
this.ClientSize = new System.Drawing.Size(942, 612);
this.Controls.Add(this.tree);
this.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "MainForm";
@ -51,5 +80,9 @@ namespace CodeImp.DoomBuilder.USDF
}
#endregion
private System.Windows.Forms.TreeView tree;
private System.Windows.Forms.ImageList treeimages;
}
}

View file

@ -117,6 +117,108 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="treeimages.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="treeimages.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB4
FQAAAk1TRnQBSQFMAgEBBAEAAQkBAAEEAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AagABkwFyAXMB/wGQ
AVoBXAH/AY0CWQH/AYoBVgFXAf8BhgFUAVMB/wGDAVEBUAH/AYACTgH/AXwCSgH/AXgBSAFHAf8BdAFE
AUUB/wFxAkEB/wFsAT0BPgH/AWoCOQH/sAABJQE3ASgB/wE0AU4BOAH/EAABqQGBAYIB/wGPAWIBYwH/
AaYBkQGBAf8BpQGNAYAB/wGmAY4BfwH/AaYBjgF/Af8BpgGOAX4B/wGmAY0BfgH/AaYBjQF+Af8BpgGN
AX4B/wGmAY0BfgH/AacBjgF+Af8B1AHLAcIB/wF4AUIBQwH/GAABdQFYAUQB/wFpAU4BOwH/AWUBSQE3
Af8BagFNAToB/wFsAU8BOgH/AW0BUQE8Af8BbQFSAT4B/wFyAVMBQQH/AYQBZgFVAf8BlgF8AW0B/wGv
AZgBjAH/A+UB/wO4Af8DtQH/A7UB/wO1Af8DtQH/A7UB/wO1Af8DtQH/A7UB/wO1Af8DtQH/A7UB/wO1
Af8DuQH/A+UB/ygAASwBQQEvAf8BdAGhAXsB/wE0AU4BOAH/EAABkAFjAWUB/wGQAWIBZAH/AYMBUwFW
Af8BnwFVAVMB/wGoAVYBUwH/AaYBUQFNAf8BoAFLAUcB/wGbAUYBQgH/AZcBQAE8Af8BkwE8ATgB/wGR
ATgBMwH/AZcBNwEzAf8B/QL+Af8BewFEAUYB/xQAAXwBWgFIAf8BuAF3AXUB/wFuAVIBPgH/AVwBRAEz
Af8BtQJoAf8BtgFoAWkB/wG7AnAB/wG9AXMBcgH/AcEBdwF7Af8BxwGBAYMB/wHCAX4BfQH/AZsBbQFg
Af8DuAH/AcABpwGLAf8B9gHiAcsB/wHBAagBjAH/AfYB4QHKAf8B5AHLAbAB/wHkAcsBsAH/AfYB4QHK
Af8BwQGoAYwB/wHkAcsBsAH/AcEBqAGMAf8D+gH/A/oB/wP6Af8D9gH/A7kB/yQAATABSAE0Af8BdAGh
AXsB/wGCAasBiQH/ATQBTgE4Af8QAAGiAXgBeQH/AaECeAH/AZcBbQFuAf8B0QF/AXsB/wHJAXcBcgH/
AcMBbgFqAf8BvQFmAWEB/wG2AV8BWQH/AbEBWAFRAf8BrAFQAUkB/wGoAUwBRAH/AZYBOAExAf8D+AH/
AX8BRwFJAf8QAAF6AVkBRwH/AbgBdwF1Af8B4wHaAdUB/wGYAXgBXwH/AZcBdwFhAf8BnwGDAW8B/wHK
AboBrwH/AdcBzAHDAf8B4wHaAdUB/wHpAeIB3gH/AeYB3QHZAf8BvwF7AXkB/wGuAWkBZgH/A7UB/wHC
AakBjQH/AfYB4QHKAf8B9gHhAcoB/wH2AeEBygH/AeQBywGwAf8B5AHLAbAB/wHkAcsBsAH/AeQBywGw
Af8B5AHLAbAB/wHBAagBjAH/A/kB/wP3Af8D9gH/A/oB/wO1Af8gAAE0AU4BOAH/AXQBoQF7Bf8BggGr
AYkB/wE0AU4BOAH/EAABpQF7AXwB/wGnAX0BfgH/AZ0BcgFzAf8B0QGBAX8B/wHMAXsBdwH/AcYBcwFv
Af8BwAFtAWgB/wG6AWUBXwH/AbQBXQFXAf8BrwFWAU8B/wGpAVABSQH/AZoBPgE3Af8D+QH/AYICSwH/
DAABegFZAUcB/wG4AXcBdQH/AcsBmwGaAf8B4wHaAdUB/wGYAXgBXwH/AeUB0QHCAf8B2QHOAcYB/wGb
AXwBZwH/AawBkQGBAf8B3QHSAcsB/wHpAeEB3AH/AeoB4wHfAf8BxQKBAf8BtwJvAf8DtQH/A/oB/wHB
AagBjAH/AfYB4QHKAf8BowG9AdkB/wGjAb0B2QH/AaMBvQHZAf8BowG9AdkB/wHkAcsBsAH/AcEBqAGM
Af8D+gH/A/kB/wP3Af8D9QH/A/oB/wO1Af8EAAE3AUkBOgH/ATQBTgE4Af8BNAFOATgB/wE0AU4BOAH/
ATQBTgE4Af8BNAFOATgB/wE0AU4BOAH/AXQBoQF7Cf8BggGrAYkB/wE0AU4BOAH/AS8BRwEzAf8MAAGp
AX4BfwH/AawCgQH/AZ4BcgFzAf8B1gGIAYUB/wHRAYEBfwH/AcwBegF3Af8BxgF0AXAB/wHAAWwBZwH/
AboBZAFfAf8BtAFdAVcB/wGvAVYBTwH/AZ4BRAE8Af8D+QH/AYYBTgFPAf8IAAF6AVkBRwH/AbMBdAFw
Af8ByAGVAZQB/wHwAesB6AH/AeMB2gHVAf8BnwF7AWEB/wHfAcoBuwH/AekB4wHeAf8B6wHlAeEB/wHX
AcIBtQH/AZsBfAFnAf8B3wHUAc4B/wHsAeYB4AH/AcsBhwGKAf8BvQJ2Af8DtQH/A/oB/wP6Af8BowG9
AdkB/wHbAeUB8AH/AdsB5QHwAf8B2wHlAfAB/wHbAeUB8AH/AaMBvQHZAf8D+gH/A/oB/wP3Af8D9gH/
A/UB/wP6Af8DtQH/ATkBTAE8Af8B3gHpAeAB/wHWAeQB2AH/Ac4B3wHQAf8BwwHXAcYB/wG7AdIBvgH/
AbMBzAG3Af8BqAHFAawB/wP8Cf8BwwHXAcYB/wGCAasBiQH/AXQBoQF7Af8BLwFHATMB/wgAAawCgAH/
AbECgQH/AZ4BbwFwAf8B3AGPAYwB/wHWAYgBhQH/AdABgQF+Af8BzAF7AXcB/wHGAXMBbwH/AcABawFn
Af8BugFkAV8B/wGzAVwBVgH/AaMBSgFEAf8D+wH/AYgBUAFRAf8IAAGuAYEBeQH/AboBewF5Bf8B8AHr
AegB/wHjAdoB1QH/AaEBfQFjAf8B3wHKAbsB/wHpAeMB3gH/AfcB9QHzCf8BlwF3AWEB/wHwAesB6AH/
Ac8BjQGPAf8BwgF7AX0B/wO1Af8D+gH/AaMBvQHZAf8B5wHuAfUB/wGsAcEB1wH/AdsB5QHwAf8B2wHl
AfAB/wGsAcEB1wH/AdsB5QHwAf8BowG9AdkB/wP5Af8D9gH/A/YB/wPzAf8D+gH/A7UB/wFGAWEBSgH/
AeQB7AHlAf8B5AHsAeUB/wHoAe4B6QH/AeoB7wHrAf8B7gHxAe4B/wHyAfMB8gH/AfUB9gH1Af8B+AH5
AfgB/wP6Af8D/An/AYIBqwGJAf8BNAFOATgB/wgAAa0CfgH/AbQCgQH/AaIBcQFzAf8B4gGWAZUB/wHb
AY4BjAH/AdYBhwGEAf8B0AGBAX0B/wHKAXsBdgH/AcUBcwFuAf8BvwFrAWYB/wG5AWQBXQH/AagBTwFK
Bf8BiQFSAVMB/wgAAbgBgQF8Af8BugF8AXkF/wHwAesB6AH/AeMB2gHVAf8BqAGAAWkB/wHfAcoBuwH/
AekB4wHeAf8B9wH1AfMJ/wGXAXgBYQH/Ae8B6gHnAf8B1AGTAZUB/wHJAYQBhwH/A7UB/wP6Af8BjQGr
Ac8B/wHnAe0B9QH/AYIBngG2Af8B2wHlAfAB/wHbAeUB8AH/AYIBngG2Af8B2wHlAfAB/wGNAasBzgH/
A/UB/wPzAf8D8AH/A+8B/wP6Af8DtQH/AVYBcQFaAf8B6gHvAeoB/wHfAeoB4AH/AeAB6gHiAf8B5AHs
AeUB/wHoAe4B6QH/AewB8AHtAf8B8AHyAfAB/wHyAfMB8gH/AfUB9gH1Af8B+AH5AfgB/wP7Bf8BggGr
AYkB/wE0AU4BOAH/CAABsAF+AX8B/wG6AYUBhgH/AagCdwH/AegBngGdAf8B4QGWAZQB/wHcAY4BjAH/
AdYBhgGEAf8B0AGBAX4B/wHLAXoBdgH/AcUBcwFuAf8BvwFrAWUB/wGuAVYBUQX/AY0BVgFXAf8IAAHC
AYcBhAH/Ab0BfQF6Bf8B8AHrAegB/wHjAdoB1QH/Aa8BhgFtAf8B3wHKAbsB/wHpAeMB3gH/AfcB9QHz
Cf8BngF7AWUB/wHvAegB5QH/AdUBlgGYAf8BzQGJAYwB/wO1Af8D+gH/AYIBngG2Af8BjAGqAc0B/wHa
AeQB7wH/AdsB5QHwAf8B2wHlAfAB/wHbAeUB8AH/AY0BqwHOAf8BgQGcAbQB/wPwAf8D7gH/A+wB/wPr
Af8D+gH/A7UB/wFjAX4BZwH/Ae0B8QHtAf8B2AHlAdoB/wOYAf8DmAH/AcYBzAHHAf8DmAH/A5gB/wOY
Af8DmAH/AfQB9QH0Af8B9QH2AfUB/wP7Af8BggGrAYkB/wE0AU4BOAH/CAABtgGBAYIB/wHCAYwBjQH/
Aa0BewF8Af8B7QGlAaQB/wHnAZ0BnAH/AeIBlgGTAf8B3AGNAYsB/wHWAYYBgwH/Ac8BgAF9Af8BywF6
AXYB/wHEAXEBbgH/AbUBXQFZBf8BkQFZAVoB/wgAAcUBigGIAf8BvQF/AXwF/wHwAesB6AH/AeMB2gHV
Af8BwgGXAX4B/wHfAcoBuwH/AekB4wHeAf8B9wH1AfMJ/wGjAX0BZwH/AewB5gHhAf8B1wGYAZsB/wHQ
AY0BkAH/A7UB/wP6Af8BggGeAbYB/wGrAcAB1gH/AYwBqQHNAf8BiwGpAc0B/wGNAasBzgH/AYwBqQHN
Af8BiwGpAc0B/wF/AZoBsgH/A+sB/wPkAf8D5AH/A+IB/wP6Af8DtQH/AW8BiQFzAf8B8wH1AfMB/wHS
AeEB1AH/AdYB5AHYAf8B2QHmAdsB/wHbAecB3QH/Ad8B6gHgAf8B4wHsAeQB/wHnAe4B6AH/AeoB7wHr
Af8B7AHwAe0B/wHwAfIB8AH/AfcB+AH3Af8BgQGqAYYB/wE0AU4BOAH/CAABuwKGAf8ByAKSAf8BsgGA
AYEB/wHyAqsB/wHtAaQBowH/AeYBnQGbAf8B4AGVAZIB/wHbAY4BiwH/AdQBhwGEAf8B0AGBAX0B/wHK
AXgBdQH/AboBZQFhBf8BlQFbAVwB/wgAAcgCjgH/AcABgQF+Av8B/QL/AfAB6wHoAf8B4wHaAdUB/wHI
AZsBgQH/Ad8BygG7Af8B6QHjAd4B/wH3AfUB8wn/AagBgQFrAf8B6wHhAd8B/wHXAZgBmwH/AdUBlQGY
Af8DtQH/A/oB/wP6Af8BgQGdAbUB/wGqAb8B1QH/AYsBqQHNAf8BiwGpAc0B/wGLAakBzQH/AX8BmgGy
Af8D6wH/A+IB/wP6Af8D+gH/A/oB/wP1Af8DtQH/AW8BiQFzAf8B9wH4AfcB/wHNAd4B0AH/A5gB/wOY
Af8DmAH/A5gB/wHCAckBxAH/A5gB/wHGAcwBxwH/A5gB/wOYAf8B8AHyAfAB/wGCAasBiQH/ATQBTgE4
Af8IAAG/AooB/wHQAZgBmQH/AbgBgwGEAf8B9wKxAf8B8gGrAaoB/wHsAaQBowH/AeYBnAGbAf8B4AGU
AZMB/wHaAY0BiwH/AdYBhQGDAf8B0AGAAXwB/wHAAWsBaAX/AZgCXwH/CAABzwKWAf8BwgGEAYAD/wH+
Af8B8AHrAegB/wHiAc4BwQH/AdwBugGpAf8B4QHEAbMB/wHpAeMB3gH/AfcB9QHzCf8BuQGLAXIB/wHa
AZ0BnwH/AeIBqQGsAf8EAAO1Af8D+gH/A/oB/wP2Af8BgQGcAbQB/wGAAZsBswH/AYABnAG0Af8BfwGa
AbIB/wPpAf8D5AH/A94B/wP6Af8D8gH/A90B/wOtAf8D0gH/AXkBkwF9Af8B/AH9AfwB/wHFAdgBxwH/
AckB2wHMAf8BzQHeAdAB/wHRAeAB0wH/AdQB4wHWAf8B1gHkAdgB/wHZAeYB2wH/Ad0B6AHfAf8B4AHq
AeIB/wHkAewB5QH/AeoB7wHrAf8BiAGvAY4B/wE0AU4BOAH/CAABxQGOAY8B/wHXAp8B/wG9AYcBiAH/
AfsCtgH/AfcBsQGyAf8B8gGrAaoB/wHtAaMBogH/AecBmwGaAf8B4AGUAZIB/wHaAY0BiQH/AdUBhgGC
Af8BxgFxAW8F/wGbAWEBYgH/CAAB1AKeAf8BxgGJAYEC/wL+Af8B8AHrAecB/wHlAcMBrwH/BAAB6QHU
AcsB/wHKAa4BoQH/AcoBowGOAf8B9gHwAewF/wHEAZEBdgH/DAADtQH/A/wB/wP6Af8D9gH/A/MB/wPw
Af8D8AH/A+4B/wPoAf8D4AH/A9cB/wP6Af8D7wH/A6wB/wPSAf8EAAFuAYMBcQX/AfcB+AH3Af8B7wHz
AfAB/wHnAe4B6AH/AdwB6AHdAf8B0wHiAdUB/wHLAdwBzgH/AcMB1wHGAf8BuQHQAbwB/wGwAcoBtAH/
AagBxQGsAf8BlQG4AZoB/wGNAbMBkgH/ASoBPAEsAf8IAAHKAZQBlQH/AeIBqAGpAf8BwgGNAY4C/wG9
Ab8B/wH+AbkBugH/AfsCtQH/AfUCrQH/AfABpgGlAf8B6gGeAZ0B/wHkAZcBlAH/Ad0BjgGMAf8BzgF6
AXgF/wGkAWgBaQH/CAAB4gGvAbEB/wHJAZABhQL/Af4C/wHzAeoB5QH/Ad0BsQGXAf8MAAHoAdYBywH/
AccBrAGeAf8BygGjAY4B/wHPAacBkAH/DAADuQH/A/cB/wP8Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6
Af8D+gH/A/oB/wP6Af8DrwH/A9IB/wwAAW0BggFxAf8BeQGTAX0B/wFvAYkBcwH/AW8BiQFzAf8BbwGJ
AXMB/wFvAYkBcwH/AWMBfgFnAf8BYwF+AWcB/wFjAX4BZwH/AVYBcQFaAf8BVgFxAVoB/wFGAWEBSgH/
ATkBTAE8Af8MAAHNApQB/wHKApAB/wHEAYsBjAH/AdsBqQGqAf8B2QGnAagB/wHWAqYB/wHUAqQB/wHR
AqEB/wHOAp8B/wHLApwB/wHIApkB/wHBAZUBlAH/Ac8CuAH/EAAB1QGjAY0F/wHfAbYBnwH/LAAD5QH/
A7kB/wO1Af8DtQH/A7UB/wO1Af8DtQH/A7UB/wO1Af8DtQH/A7UB/wO1Af8D0gH/mAAB2wGtAZMB/3AA
AUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/+BAAL/AcABAQX/AecBgAEBAfgDAAH/
AccBgAEBAfADAAH/AYcBgAEBAeADAAH/AQcBgAEBAcADAAGAAQMBgAEBAYAEAAEBAYABAQGABAABAQGA
AQEBgAQAAQEBgAEBAYAEAAEBAYABAQGABAABAQGAAQEBgAQAAQEBgAEBAYABAQMAAQEBgAEBAYIBBwEA
AQEBAAEBAYABAQGDAYcBAAEDAYABAwGAAQMBxwH/AQABBwT/Ae8D/ws=
</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>