netrosly

Kawaii IO GDI Theme

Jun 12th, 2015
448
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 188.41 KB | None | 0 0
  1. Imports System.ComponentModel
  2. Imports System.Drawing.Drawing2D
  3. Imports System.IO
  4.  
  5. Public Class KIO_Button
  6.     Inherits Control
  7.     Dim WithEvents tmr As New Timer
  8.     Property UnHovered_Font As Font = New Font("Arial", 12, FontStyle.Regular)
  9.     Property Hovered_Font As Font = New Font("Arial", 12, FontStyle.Regular)
  10.     Property Hovered_Color As Color = Color.White
  11.     Property Hovered_Text As String = "KIO_Button"
  12.     Property UnHovered_Text As String = "KIO_Button"
  13.     Sub New()
  14.         Me.Size = New Size(120, 45)
  15.         tmr.Interval = Speed
  16.         tmr.Start()
  17.         Me.DoubleBuffered = True
  18.         Me.BackColor = Color.White
  19.     End Sub
  20.     Property Fill_Color As Color = Color.FromArgb(58, 123, 201)
  21.     Property Fill_Opacity As Integer = 0
  22.     Property Fill_Opacity2 As Integer = 125
  23.     Property Speed As Integer = 10
  24.     Property Toggled As Boolean = False
  25. #Region "Imported Functions"
  26.     Public Sub FillRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush, ByVal p As Pen)
  27.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  28.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
  29.         g.FillPie(b, r.X, r.Y, d, d, 180, 90)
  30.         g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90)
  31.         g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  32.         g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  33.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  34.         g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  35.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  36.         g.SmoothingMode = mode
  37.         '  g.DrawLine(p, New Point(r.X + 1, d - 3), New Point(r.Width, d - 3))
  38.         ' g.DrawLine(p, New Point(r.X + 1, r.Height - (d - 5)), New Point(r.Width, r.Height - (d - 5)))
  39.     End Sub
  40.     Public Sub DrawRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal p As Pen)
  41.  
  42.         g.DrawArc(p, r.X, r.Y, d, d, 180, 90)
  43.         g.DrawLine(p, CInt(r.X + d / 2), r.Y, CInt(r.X + r.Width - d / 2), r.Y)
  44.         g.DrawArc(p, r.X + r.Width - d, r.Y, d, d, 270, 90)
  45.         g.DrawLine(p, r.X, CInt(r.Y + d / 2), r.X, CInt(r.Y + r.Height - d / 2))
  46.         g.DrawLine(p, CInt(r.X + r.Width), CInt(r.Y + d / 2), CInt(r.X + r.Width), CInt(r.Y + r.Height - d / 2))
  47.         g.DrawLine(p, CInt(r.X + d / 2), CInt(r.Y + r.Height), CInt(r.X + r.Width - d / 2), CInt(r.Y + r.Height))
  48.         g.DrawArc(p, r.X, r.Y + r.Height - d, d, d, 90, 90)
  49.         g.DrawArc(p, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  50.     End Sub
  51. #End Region
  52.  
  53.     Private Sub Master_Button_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  54.         e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.HighQuality
  55.  
  56.         FillRoundedRectangle(e.Graphics, New Rectangle(3, 3, Me.Width - 5, Me.Height - 5), 8, New SolidBrush(Color.FromArgb(Fill_Opacity, Fill_Color)), New Pen(Color.FromArgb(Fill_Opacity, Fill_Color)))
  57.         DrawRoundedRectangle(e.Graphics, New Rectangle(3, 3, Me.Width - 5, Me.Height - 5), 8, New Pen(Fill_Color))
  58.         e.Graphics.DrawString(UnHovered_Text, UnHovered_Font, New SolidBrush(Color.FromArgb(Fill_Opacity2 * 2, Fill_Color)), New Rectangle(3, 3, Me.Width - 5, Me.Height - 5), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  59.         e.Graphics.DrawString(Hovered_Text, Hovered_Font, New SolidBrush(Color.FromArgb(Fill_Opacity, Hovered_Color)), New Rectangle(3, 3, Me.Width - 5, Me.Height - 5), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  60.  
  61.     End Sub
  62.     Dim tickss As Integer = 0
  63.     Dim mousex, mousey As Integer
  64.     Private Sub Master_Button_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
  65.         mousex = e.X
  66.         mousey = e.Y
  67.  
  68.         If New Rectangle(4, 4, Me.Width - 6, Me.Height - 6).Contains(e.X, e.Y) Then
  69.             Toggled = True
  70.             tmr.Interval = Speed
  71.         Else
  72.             Toggled = False
  73.         End If
  74.         If Toggled = True Then
  75.             Cursor = Cursors.Hand
  76.         Else
  77.             Cursor = Cursors.Arrow
  78.         End If
  79.     End Sub
  80.  
  81.     Private Sub tmr_Tick(sender As Object, e As EventArgs) Handles tmr.Tick
  82.  
  83.         If Toggled = True Then
  84.             If Not Fill_Opacity > 249 Then
  85.                 Fill_Opacity += 10
  86.                 If Fill_Opacity2 <= 0 Then
  87.                     Fill_Opacity2 -= 10
  88.                 End If
  89.                 Me.Refresh()
  90.             End If
  91.         Else
  92.             If Not Fill_Opacity < 1 Then
  93.                 Fill_Opacity -= 10
  94.                 If Fill_Opacity2 >= 260 Then
  95.                     Fill_Opacity2 += 10
  96.                 End If
  97.                 Me.Refresh()
  98.             End If
  99.         End If
  100.     End Sub
  101.  
  102.     Private Sub Master_Button_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave
  103.         Toggled = False
  104.         Me.Refresh()
  105.     End Sub
  106.     Dim clickedd As Boolean = False
  107.     Event Clicked()
  108.  
  109.     Private Sub Master_Button_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
  110.         If e.Button = MouseButtons.Left Then
  111.             RaiseEvent Clicked()
  112.             Fill_Opacity2 = 125
  113.             Fill_Opacity = 0
  114.             Me.Refresh()
  115.             Me.Refresh()
  116.         End If
  117.     End Sub
  118. End Class
  119. Public Class KIO_Form
  120.     Inherits ContainerControl
  121.     Dim WithEvents CloudTmr As New Timer
  122. #Region "Cloud Resource"
  123.     Private Minihover As Boolean = False
  124.     Private Maxhover As Boolean = False
  125.     Private Exithover As Boolean = False
  126.     Public Property RoundedCorners As Boolean = True
  127.     Public Property Shadow As Boolean = True
  128.     Public Property Animation As Boolean = True
  129.     Public Property NumofClouds As Integer = 1
  130.  
  131.     'Dark
  132.     Property dSkyColor1 As Color = Color.FromArgb(39, 33, 47)
  133.     Property dSkyColor2 As Color = Color.FromArgb(39, 33, 47)
  134.     'Regular
  135.     Property SkyColor1 As Color = Color.FromArgb(61, 123, 201)
  136.     Property SkyColor2 As Color = Color.FromArgb(61, 123, 251)
  137.     'Speed
  138.     Public Property CloudUpdate As Integer = 10
  139.     Property DarkTheme As Boolean = False
  140.     'ReTime Debug so it doesn't Flicker for other controls
  141.     Property Retime_Update As Boolean = True
  142.     Public dCloudRes As String = "iVBORw0KGgoAAAANSUhEUgAAAOQAAAB8CAYAAAB5YhyjAAAACXBIWXMAAAsTAAALEwEAmpwYAAA7hmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTI0VDIxOjU4OjM1LTA1OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNi0wMlQxNDoyNzoyMS0wNTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDYtMDJUMTQ6Mjc6MjEtMDU6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOmIyM2RhZmY5LTgzZTktZmE0NC1hODE1LTY4ZTUxZGJiYWNhOTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo2NzNlZDUyZC0xNDM0LWVlNDQtYjhjYi04MjFmYzE2Y2JmNjE8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo2NzNlZDUyZC0xNDM0LWVlNDQtYjhjYi04MjFmYzE2Y2JmNjE8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NjczZWQ1MmQtMTQzNC1lZTQ0LWI4Y2ItODIxZmMxNmNiZjYxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTA1LTI0VDIxOjU4OjM1LTA1OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo4NjllZWZkNy1kNTk4LWQ4NGYtOTc0OS1mYmJjZGJlNGZhNWE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMjRUMjE6NTg6MzUtMDU6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmIyM2RhZmY5LTgzZTktZmE0NC1hODE1LTY4ZTUxZGJiYWNhOTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wNi0wMlQxNDoyNzoyMS0wNTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjI4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjEyNDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+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"
  143.     Public CloudRes As String = "iVBORw0KGgoAAAANSUhEUgAAAOQAAAB8CAYAAAB5YhyjAAAACXBIWXMAAAsTAAALEwEAmpwYAAA7hmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTI0VDIxOjU4OjM1LTA1OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNS0yNVQxMzoxNTo0NC0wNTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMjVUMTM6MTU6NDQtMDU6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjI0OGE3OWNjLTljNWMtY2I0ZS1hMWUxLWI0YTMxZWEyMTQ2YjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo2NzNlZDUyZC0xNDM0LWVlNDQtYjhjYi04MjFmYzE2Y2JmNjE8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDo2NzNlZDUyZC0xNDM0LWVlNDQtYjhjYi04MjFmYzE2Y2JmNjE8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NjczZWQ1MmQtMTQzNC1lZTQ0LWI4Y2ItODIxZmMxNmNiZjYxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTA1LTI0VDIxOjU4OjM1LTA1OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo4NjllZWZkNy1kNTk4LWQ4NGYtOTc0OS1mYmJjZGJlNGZhNWE8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMjRUMjE6NTg6MzUtMDU6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjI0OGE3OWNjLTljNWMtY2I0ZS1hMWUxLWI0YTMxZWEyMTQ2Yjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNS0wNS0yNVQxMzoxNTo0NC0wNTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MjI4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjEyNDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+edhZGAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAOu0lEQVR42uyd+0+b1xnH/XfhG/SndVXXTu3WTr1OkSJNWhtpm9q1wWDMLQlJRq9Jk4qEJu2SakmaqiTNsqSEkCiAbTC+gs0lGGKMb9yCMbb57ocDKRfb+PL6yvcjfaWAAtjv+359zvOc5zxHBkBGUVRpiBeBomhIiqJoSIqiISmKoiEpioakKIqGpCgakqIoGpKiaEiKogpiyOeOTlBUSan6iAvq5hGoGm1Q6sxQaE1Q1Bkh1+ghrx1A1eF+VB3u21A/5LUDkGv0UNQZodCaoNSZoWq0Qd08guojLpTTe+cDQBVdNa0uqJvsUDaYoag3Ql671XC5SV7bD0W9EcoGM9RNdtS0lrZB+UBQxRkFW5xQNdqg0JpQVauXzIB7qlYPhdYEVaMN1S1O0JDUvpa6yQFlwzCqNAU0YTJp9FA2DEPd5AANSe2fKemRcagb7VDUD6Gqtq/4Rtw1avZBUT8EdaMdNUfGQUNSlTsibhrxcF9ZaNOYNCRVWTFi88hGfNhXNmbcNmJqTahuHgENSZX5ksUYVDoL5KUQI+aaodXoodJZUH1kDDQkVX7T0+aRspqeZjSNLdBoyQeJkkSqRhvkGkPFmfHX0dIAVaMNNCRV4hlUF5Q6s6Sx4m9bB/HnU3Z8+N0Ejv30BGe7/fi+fxE3LWHcc67h0WQcBjdgcAOPJuO451zDTUsY3/cv4my3H8d+eoIPv5vAn0/Z8dvWQUljS6XOjJo8Vv/woaJyWNwfFYmbHB/0F48O4f3zLhzv8uBy/yIejMdgnIYkejAew+X+RRzv8uD98y68eDT3KbVCa0J1yyhoSKq0zFif/ejz0jETPvh2Ame7/fhlJCKZAffSLyMRnO3244NvJ/DSMVMOceVgXkzJh4vKbkkjSzMePDOC9p+9uG1bLZgJk+m2bRXtP3tx8MxI9qaUONnDB4zK+8iorhvAoU4XOnqCMBTZhIlkmAY6eoI41OmCum6gqCMlHzIqr2Z875wLnb3BkjNhMnX2BvHeOVfRTMkHjUo7m5pJAufdL+04dcdXkiNiOiPmqTs+vPulPaNEjxTZVz5sVFpS6sxpPZi/aTZCd9WN/9lXy86IO/U/+yp0V934TbMxrfeu1JlpSKowi/7prDMeOO3A+fvBsjfiTp2/H8SB04601ilzLR7gA0ftWQ6XTgXOR5cmccsarjgzbuqWNYyPLk2mVdGTS5kdHzoqZaH4XrWpz7cMoq3LI2msaPYATh8wFQJml4DgCrAUAcJRIBoH4ut4RnxdfC8cFf8nuCJ+ZiokfofZI21s2dblwfMtg3vWvmZbkF6iCYQxVLc4RaOjJhtUOgtUDRvNjuoHIa8zik9tjR5Vz5oe9YtpVW3flq8HUKXRQ64xQF5nhKJ+ULRvaDCL39m00QipxYmaAlb0l81UVWdJ+eC9etKMr+76c37QLbPARADwLgFLq0AsDsmIxcXv9C6Jv2GZzd2YX93149WTqWNqlc5SfoasOTKO6pZRqJvsUG10F5PXGTdMVug9cAPCtFoTVDrREKm6ZbToO8iLufifagvVG59a0dkbyvqhts4Cj0NiRFuLoWCsxcTffBwSryH75ZEQ3vjUmnLrVjZFAwXuLjYGdZMDSp0VinpTWewOkGsMUNSboNRZoW5yoKZ1f4ykqZY43vrchu8ezWf1ILv8gG8ZiERRdCJR8Vpc/uxM+d2jebz1uS3lUkjJGbK6eRSqTQPWVsCm1Vo9FPUmqHRWVDePVqQ51Y32pFnVNz61ZmzGwRlgIgiEVlCyhFbEaxycydyUSUfK2r6M24Hkbbqj0llyKj4un82rg2JXeRHaPeQrjEiWyHn1pDnjaepEAJgPo2yYD4vXnOn0NVlMqagfyijske5GbvbZrB/a0Vl6v6gfivohqBptqCnBfp8ZjY5JsqmZJHBGfUDgKcqWwFPxHjJJ9CTLvmYySkqwTjUKZYO5oneLZxN3KhvMUJfhlDbZ6NjW5UnrwRz2AE8WgEgMZU8kJt7LcJpLJ21dnqSjZN4NqW4egbLBVJyMaNl0LxuAssFUkH4sNS1OqJscG8tDQ5BrjBsxe/+zpSB5rR5yjREK7RBUDWaRpNoymqubHAljx48uTaa1zuj0AaEwKo5QWLy3dNYpExYP1Pal3Yw5uxFROyzp+QsVP2LW9kOpHZZ8xBTt+K0bDYizvB+1m1Nta8Li8QOnHWlV4LjngdUoKpbVqHiP6VT0JCqzUzYMS2vImlYXVDpLabSAL1dttBXM9cAXESbkox1//65C8b1qU4c9YtF9v+Bd2nsKe/5+cHdBukaf1lkiaZ/HUMiM6XNaPV45MYwDpx3424VxaK+4ceKGB1/94sfFh/O4YljCDfMK7jgi6B2L4tFkHPqpdRg2pg36qXU8moyjdyyKO44IbphXcMWwhIsP5/HVL36cuOGB9oobf7swjgOnHXjlxDCe0+oLmpnN5jyJ6hYnlA3mgh1Oo7vqTvng2bzlnbjJJeFj86Y2pe6qe3f1ThqF53uWsKl0lo0z+aS/4er6AbzWbsGh8y40X5/B2W4/fhhcRu9YtODFw71jUfwwuIyz3X40X5/BofMuvNZugbp+IE/T2AExWqZZsqdqtEFRZyzYh8a7X9pTbqFyzJXXckY+lkccc6m3bu3cT5lOoUDKJIFSgo5i21LnzUYcPDOCxqtudPQEymJ3wC1rGB09ATRedePgmRE83yytKZRaU8plkppWF5Rac8Gn16fu+JJek5E5YHEV+57FVXEtkl2nU3d8u47C2ytcSdGqQZoO1G98aoXm+8fo6AngriNS9ttw7joi6OgJQPP945S1jJl2xk7UAkLcB1PBzfjeOVfSrKqDZtxlymQjpWEau9qBqJvsKbPueTHj21/Y0HRtGpf6FmBwo2L3yBncwKW+BTRdm8bbX9gkNWUund1yCiPqBpL2wLF59/c0NdX0NVlM2dkb3NY4S6zZ66FOEk/uShpk+4n8cpsJH1+axIWHIein1ivWhMmkn1rHhYchfHxpEi+3mbI0pQnVLU7k2vM0Fx3qdCXNpu7HBE4miZ5k2ddDna4t99j4aw4hgSm31TBmE6u884UNx7s8Fb1bPJu483iXB+9kMWoqtaaiHljT0ZN4dNxPSxu5LIkkunYdPcFta9JbE3s7R8otWbzM4qEDpx34/PZcUTKi5aLesSg+vz2XXj+WHPVymwl/PedEy/UZfH0vgGvGZdx1RMQ5GNPiDIy7jgiuGZfx9b0AWq7P4K/nnNtG84NnRhLGju55mi1dEhUPGKaRtBmzXKPfFlM+ixvldenVor75mRWf3PJKev5CpevBeAyf3PLizc+skprwlRPDOHz5MTp7g3gwlt39eDAWQ2dvEIcvP8bZbn/CcrhKrsDJR0VPojK79p+9abX8EC3+Gix73vwXWgfReG26JFrAl6tu21bReG0aL+R4ItM7X9hw8uYs7kictd4Z+w97KrM2tRC1rzvjydu21ZRniah0VmHImhbXnqfd/uXrUVx8OF+wB3doRmStnH5gMgjMLIj5eeApsBAGljcaHkViomdKfB3Y0vcI6xDfi8XF/wlHxc8shMXv8C6J3zkZFH/D5hV/s1Dv7+LDefzl69GMjfjHf5lxvMuDe861grzOJws0V7Y8Wdh9PT/4diLFDiEjqltcED03U5SwNVxxo3s0Pw/A4Axg94qd2p5F0evkaUTaJkfpEouLvx1cEa9lIihe22CejNo9uoaGK+60S/Y++HYC1weXC/ahMeqrjC1UxSIS272f8my3f4/GWFbIklXjvNxmwmf/nZP0Jg97RP+SJwuiZUI5xCarUfFanyyI1z7skfbB/+y/cymXSV48OoSTNzwFn15ziUOapZCdR+GlOp9SrjFAJtfsLgV7vd2SNP2dqUbmgOl58VCvVcAn7lpMvJfp+dRlU5mooyeI19t3x/F/+sSCjp5Awc04EaCZpGJnO5D3z7tSZt1lO/fRvd5uwTcPQrmZ0CdGlP1QYrW4Kt7riC83E3zzILTNlLl0dss1jGA1jrRVPFvDnuNdHty0hPGPi+PJDLn9VNtsP5Gts2INZiG8PcGyX1iHeO/u+ez7fXb0BPDSMRP+9ImlKGY0TovYmUg8SgZ/vb6X+xdhnAbuu6IJuwvInq2FaPrR/vNsVsG/d4lrVTvjTu9SZk2SNnX6rk+ycCEblXKrxrJdBlnZvia9+e/7ruiukfKZIf/578mMbpzTB/iXi5MRLRdicXGNnL78G8k6C4wHtmer12K/noMRXxdfb80kjwe2j+YuP+9ZvkjWjPmmZXvLD1nV4T784aQZPw49TTtJ46MRMzamb1m6JNDW3RfueRGnZHs/YnHx8+55YVSSH3zLqU9t3mz5Ias63IfWH2fSOpHoyUJptIAvVyJRcQ1zPZFp1AfMLUm/TrjOW5TXe58qt1D3nylhyN8dHcJNS+qdGmMBkbAg0rAQFtc0UyPavSI2jXJ2UpY8DiW/tz+ZnuL3bSbI/n5hPGUJ28xCZawflhprMXFt0y3ZexwCnq7xupUzwZXU97juP1OQJavGsc6KeS/Jf2yRaipjmRXTU1IZH8Kpzqe8ZQ1DdtWwlHBqxPR34QitiGueqH8N70NlMREQGxqSmVK2cx+d3ct4sVhx5VZTsrNbZeJdEruPksWTMsOOaSo/kYs7Ulpn2dmtklnauK/ReOLuArKtX8wxZiw6gaf8UKxktq4XR+O7R8pnhpwK8WIRUmjC0e0xpWyz4mOFKXVCisL8lpYfMuO0qGskhBSP6Y14UmaZFcMmIaR4rKyJhJ5skvvfCCmZUVLGahxCSoPVKCBbjvBCEFIqyLivkZASMiQvASE0JCGEhiSEhiSE0JCE0JCEEBqSEBqSEEJDEkJDEkJoSEJoSEIIDUkIoSEJoSEJITQkITQkIYSGJISGJITQkITQkIQQGpIQGpIQQkMSQkMSQmhIQggNSQgNSQihIQmhIQkhNCQhNCQhhIYkhIYkhNCQhNCQhBAakhAakhBCQxJCaEhCaEhCCA1JCA1JCKEhCaEhCSE0JCE0JCFEev4/ALRZQzO3F8chAAAAAElFTkSuQmCC"
  144. #End Region
  145. #Region "Imported Functions"
  146.     'Source From CRice @ StackOverFlow
  147.     Public Function LoadImage(bitmapstr As String) As Image
  148.         Dim bytes As Byte() = Convert.FromBase64String(bitmapstr)
  149.  
  150.         Dim img As Image
  151.         Using ms As New MemoryStream(bytes)
  152.             img = Image.FromStream(ms)
  153.         End Using
  154.  
  155.         Return img
  156.     End Function
  157. #Region "Functions"
  158.     Public Sub FixRoundRectClicked(g As Graphics, rect As Rectangle, exwidth As Integer, Border_color As Color)
  159.         'Fix Top
  160.         'Line right
  161.         'g.DrawLine(New Pen(Border_color), New Point(rect.Width - 7, 2), New Point(rect.Width - 7, 7))
  162.         'Line left
  163.         g.DrawLine(New Pen(Color.White), New Point(rect.X + 1, 10), New Point(rect.Width + rect.Width / 2, 10))
  164.         'Long Line
  165.         ' g.DrawLine(New Pen(Border_color), New Point(rect.X + 2, 7), New Point(rect.Width - 2, 7))
  166.         'Fix Bottom
  167.         'Line Bottom Right
  168.         ' g.DrawLine(New Pen(Under_Color), New Point(7, Me.Height - 2), New Point(7, Me.Height - 4))
  169.         'Line Bottom Left
  170.         ' g.DrawLine(New Pen(Under_Color), New Point(Me.Width - 7, Me.Height - 2), New Point(Me.Width - 7, Me.Height - 4))
  171.         'Line right
  172.         ' g.DrawLine(New Pen(Border_color), New Point(rect.Width - 7, rect.Height - 2), New Point(rect.Width - 7, rect.Height - 6))
  173.         'Line left
  174.         ' g.DrawLine(New Pen(Border_color), New Point(7, rect.Height - 2), New Point(7, rect.Height - 6))
  175.         'Long Line
  176.         g.DrawLine(New Pen(Color.White), New Point(Me.Width / 2 - (exwidth / 2) + 1, 20), New Point(rect.Width + rect.Width / 2, 20))
  177.     End Sub
  178.     Public Sub FixRoundRect(g As Graphics, Border_color As Color, r As Rectangle)
  179.         'Fix Top
  180.         'Line right
  181.         g.DrawLine(New Pen(Border_color), New Point(r.Width - 7, 2), New Point(r.Width - 7, 7))
  182.         'Line left
  183.         g.DrawLine(New Pen(Border_color), New Point(7, 2), New Point(7, 7))
  184.         'Long Line
  185.         g.DrawLine(New Pen(Border_color), New Point(2, 7), New Point(r.Width - 2, 7))
  186.         'Fix Bottom
  187.         'Line Bottom Right
  188.         ' g.DrawLine(New Pen(Under_Color), New Point(7, r.Height - 2), New Point(7, r.Height - 4))
  189.         'Line Bottom Left
  190.         'g.DrawLine(New Pen(Under_Color), New Point(r.Width - 7, r.Height - 2), New Point(r.Width - 7, r.Height - 4))
  191.         'Line right
  192.         g.DrawLine(New Pen(Border_color), New Point(r.Width - 7, r.Height - 6), New Point(r.Width - 7, r.Height - 11))
  193.         'Line left
  194.         g.DrawLine(New Pen(Border_color), New Point(7, r.Height - 6), New Point(7, r.Height - 11))
  195.         'Long Line
  196.         g.DrawLine(New Pen(Border_color), New Point(2, r.Height - 11), New Point(r.Width - 2, r.Height - 11))
  197.     End Sub
  198.     Public Sub DrawRoundRect(g As Graphics, p As Pen, x As Single, y As Single, width As Single, height As Single,
  199.       radius As Single)
  200.         Dim gp As New GraphicsPath()
  201.  
  202.         gp.AddLine(x + radius, y, x + width - (radius * 2), y)
  203.         ' Line
  204.         gp.AddArc(x + width - (radius * 2), y, radius * 2, radius * 2, 270, 90)
  205.         ' Corner
  206.         gp.AddLine(x + width, y + radius, x + width, y + height - (radius * 2))
  207.         ' Line
  208.         gp.AddArc(x + width - (radius * 2), y + height - (radius * 2), radius * 2, radius * 2, 0, 90)
  209.         ' Corner
  210.         gp.AddLine(x + width - (radius * 2), y + height, x + radius, y + height)
  211.         ' Line
  212.         gp.AddArc(x, y + height - (radius * 2), radius * 2, radius * 2, 90, 90)
  213.         ' Corner
  214.         gp.AddLine(x, y + height - (radius * 2), x, y + radius)
  215.         ' Line
  216.         gp.AddArc(x, y, radius * 2, radius * 2, 180, 90)
  217.         ' Corner
  218.         gp.CloseFigure()
  219.  
  220.         g.DrawPath(p, gp)
  221.         gp.Dispose()
  222.     End Sub
  223.     Public Sub FillRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush, ByVal p As Pen)
  224.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  225.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
  226.         g.FillPie(b, r.X, r.Y, d, d, 180, 90)
  227.         g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90)
  228.         g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  229.         g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  230.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  231.         g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  232.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  233.         g.SmoothingMode = mode
  234.         '  g.DrawLine(p, New Point(r.X + 1, d - 3), New Point(r.Width, d - 3))
  235.         ' g.DrawLine(p, New Point(r.X + 1, r.Height - (d - 5)), New Point(r.Width, r.Height - (d - 5)))
  236.     End Sub
  237.     Public Sub FillRoundedRectangle2(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
  238.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  239.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
  240.         g.FillPie(b, r.X + 1, r.Y + 1, d, d, 180, 90)
  241.         g.FillPie(b, r.X + r.Width - d - 1, r.Y + 1, d, d, 270, 90)
  242.         g.FillPie(b, r.X + 1, r.Y + r.Height - d - 1, d, d, 90, 90)
  243.         g.FillPie(b, r.X + r.Width - d - 1, r.Y + r.Height - d - 1, d, d, 0, 90)
  244.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y + 1, r.Width - d, CInt(d / 2))
  245.         g.FillRectangle(b, r.X + 1, CInt(r.Y + d / 2), r.Width - 2, CInt(r.Height - d))
  246.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2 - 1), CInt(r.Width - d + 1), CInt(d / 2 + 0.5))
  247.         g.SmoothingMode = mode
  248.         '  g.DrawLine(p, New Point(r.X + 1, d - 3), New Point(r.Width, d - 3))
  249.         ' g.DrawLine(p, New Point(r.X + 1, r.Height - (d - 5)), New Point(r.Width, r.Height - (d - 5)))
  250.     End Sub
  251.     Public Sub FillNotTopRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
  252.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  253.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
  254.         g.FillPie(b, r.X, r.Y, 1, 1, 180, 90)
  255.         g.FillPie(b, r.X + r.Width - d, r.Y, 1, 1, 270, 90)
  256.         g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  257.         g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  258.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  259.         g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  260.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  261.         g.SmoothingMode = mode
  262.     End Sub
  263.     Public Sub FillNotBottomRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
  264.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  265.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
  266.         g.FillPie(b, r.X, r.Y, d, d, 180, 90)
  267.         g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90)
  268.         'g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  269.         '  g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  270.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  271.         g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  272.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  273.         g.SmoothingMode = mode
  274.     End Sub
  275. #End Region
  276. #End Region
  277.     Sub New()
  278.         Me.Dock = DockStyle.Fill
  279.         CloudTmr.Interval = 400
  280.         Me.SetStyle(ControlStyles.SupportsTransparentBackColor, True)
  281.         CloudTmr.Start()
  282.         Me.DoubleBuffered = True
  283.     End Sub
  284.  
  285.     Private Sub KIO_Form_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  286.         e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
  287.         If DarkTheme = False Then
  288.             Dim brush = New LinearGradientBrush(New Rectangle(0, 0, Me.Width, 85), SkyColor1, SkyColor2, 90.0!)
  289.             'Rounded or Square Corners
  290.             If RoundedCorners = True Then
  291.                 'Clear
  292.                 e.Graphics.Clear(BackColor)
  293.                 If Shadow = True Then
  294.                     FillRoundedRectangle2(e.Graphics, New Rectangle(5, 89, Me.Width - 8, Me.Height - 89), 12, New SolidBrush(Color.DarkGray))
  295.                     FillRoundedRectangle2(e.Graphics, New Rectangle(-1, 0, Me.Width + 1, 95), 12, brush)
  296.                     FillRoundedRectangle2(e.Graphics, New Rectangle(0, 89, Me.Width, Me.Height - 93), 12, New SolidBrush(Color.White))
  297.                 Else
  298.                     FillNotBottomRoundedRectangle(e.Graphics, New Rectangle(0, 0, Me.Width, 85), 12, brush)
  299.                     FillNotTopRoundedRectangle(e.Graphics, New Rectangle(0, 89, Me.Width, Me.Height - 89), 12, New SolidBrush(Color.White))
  300.                 End If
  301.             Else
  302.                 e.Graphics.Clear(Color.Fuchsia)
  303.                 If Shadow = True Then
  304.                     e.Graphics.FillRectangle(New SolidBrush(Color.DarkGray), New Rectangle(5, 89, Me.Width - 8, Me.Height - 80))
  305.                     e.Graphics.FillRectangle(brush, New Rectangle(-1, -1, Me.Width + 1, 81))
  306.                     e.Graphics.FillRectangle(New SolidBrush(Color.White), New Rectangle(-1, 94, Me.Width + 1, Me.Height - 98))
  307.                 Else
  308.                     e.Graphics.FillRectangle(brush, New Rectangle(-1, 0, Me.Width, 80))
  309.                     e.Graphics.FillRectangle(New SolidBrush(Color.White), New Rectangle(-1, 89, Me.Width, Me.Height - 80))
  310.                 End If
  311.             End If
  312.             Dim img As Bitmap
  313.             img = Nothing
  314.             'Clouds
  315.             If Animation = True Then
  316.                 If Not CloudTmr.Enabled = True Then
  317.                     CloudTmr.Start()
  318.                 End If
  319.                 CloudTmr.Interval = CloudUpdate
  320.                 For Each Cloud As CloudItem In Items
  321.                     If Cloud.Toggle = True Then
  322.                         Dim bytes As Byte() = Convert.FromBase64String(Cloud.ImgStr)
  323.  
  324.                         Using ms As New MemoryStream(bytes)
  325.                             img = Image.FromStream(ms)
  326.                         End Using
  327.                         e.Graphics.DrawImage(img, New Rectangle(Cloud.CloudLoc, Cloud.CloudSize))
  328.                         'Dispose of Img to reduct Memory use
  329.                         img.Dispose()
  330.                         img = Nothing
  331.                     End If
  332.                 Next
  333.             Else
  334.                 If CloudTmr.Enabled = True Then
  335.                     CloudTmr.Stop()
  336.                 End If
  337.             End If
  338.             Dim sz As SizeF = e.Graphics.MeasureString(FindForm.Text, New Font("Arial", 12, FontStyle.Regular))
  339.  
  340.             Dim byts As Byte() = Convert.FromBase64String(CloudRes)
  341.             Dim im As Bitmap
  342.             Using ms As New MemoryStream(byts)
  343.                 im = Image.FromStream(ms)
  344.             End Using
  345.             'Draw First Cloud
  346.             e.Graphics.DrawImage(im, New Rectangle(1, 40, 180, 90))
  347.             'Dispose of Img to reduct Memory use
  348.             im.Dispose()
  349.             'Repeated Cloud Pattern
  350.             NumofClouds = Me.Width / 180
  351.             NumofClouds = Math.Ceiling(NumofClouds)
  352.             NumofClouds = NumofClouds
  353.             For i As Integer = 1 To NumofClouds
  354.                 Dim bytes As Byte() = Convert.FromBase64String(CloudRes)
  355.                 Using ms As New MemoryStream(bytes)
  356.                     img = Image.FromStream(ms)
  357.                 End Using
  358.                 e.Graphics.DrawImage(img, New Rectangle(i * 180, 40, 180, 90))
  359.                 'Dispose of Img to reduct Memory use
  360.                 img.Dispose()
  361.                 img = Nothing
  362.             Next
  363.  
  364.             'Buttons
  365.             'Minimize
  366.             If Minihover = True Then
  367.                 e.Graphics.FillEllipse(New SolidBrush(Color.FromArgb(206, 228, 255)), New Rectangle(Me.Width - 58, 8, 12, 12))
  368.                 e.Graphics.DrawString("0", New Font("Webdings", 7.1, FontStyle.Regular), New SolidBrush(Color.FromArgb(58, 123, 201)), New Rectangle(Me.Width - 58, 5, 12, 12))
  369.             Else
  370.                 e.Graphics.FillEllipse(New SolidBrush(Color.White), New Rectangle(Me.Width - 58, 8, 12, 12))
  371.                 e.Graphics.DrawString("0", New Font("Webdings", 7.1, FontStyle.Regular), New SolidBrush(Color.FromArgb(58, 123, 201)), New Rectangle(Me.Width - 58, 5, 12, 12))
  372.             End If
  373.             'Maxmize
  374.             If Maxhover = True Then
  375.                 e.Graphics.FillEllipse(New SolidBrush(Color.FromArgb(206, 228, 255)), New Rectangle(Me.Width - 40, 8, 12, 12)) '47, 48, 52
  376.                 e.Graphics.DrawString("+", New Font("Arial", 9.5, FontStyle.Regular), New SolidBrush(Color.FromArgb(58, 123, 201)), New Rectangle(Me.Width - 39.5, 6, 12, 12))
  377.             Else
  378.                 e.Graphics.FillEllipse(New SolidBrush(Color.White), New Rectangle(Me.Width - 40, 8, 12, 12)) '47, 48, 52
  379.                 e.Graphics.DrawString("+", New Font("Arial", 9.5, FontStyle.Regular), New SolidBrush(Color.FromArgb(58, 123, 201)), New Rectangle(Me.Width - 39.5, 6, 12, 12))
  380.             End If
  381.             If Exithover = True Then
  382.                 'Close
  383.                 e.Graphics.FillEllipse(New SolidBrush(Color.FromArgb(206, 228, 255)), New Rectangle(Me.Width - 22, 8, 12, 12))
  384.                 e.Graphics.DrawString("r", New Font("Webdings", 7.1, FontStyle.Regular), New SolidBrush(Color.FromArgb(58, 123, 201)), New Rectangle(Me.Width - 22, 6, 12, 12))
  385.             Else
  386.                 'Close
  387.                 e.Graphics.FillEllipse(New SolidBrush(Color.White), New Rectangle(Me.Width - 22, 8, 12, 12))
  388.                 e.Graphics.DrawString("r", New Font("Webdings", 7.1, FontStyle.Regular), New SolidBrush(Color.FromArgb(58, 123, 201)), New Rectangle(Me.Width - 22, 6, 12, 12))
  389.             End If
  390.  
  391.             ' FillRoundedRectangle2(e.Graphics, New Rectangle(Me.Width / 2 - (sz.Width / 2) - 20, 6, sz.Width + 23, 18), 8, Brushes.White)
  392.             '  e.Graphics.DrawLine(Pens.White, New Point(Me.Width / 2 - (sz.Width / 2) + 1, 10), New Point(sz.Width * 2, 10))
  393.             '  e.Graphics.DrawLine(Pens.White, New Point(Me.Width / 2 - (sz.Width / 2) + 1, 20), New Point(sz.Width * 2, 20))
  394.             e.Graphics.DrawString(FindForm.Text, New Font("Arial", 12, FontStyle.Regular), New SolidBrush(Color.White), New Rectangle(Me.Width / 2 - (sz.Width / 2) + 6 - 20, 7, sz.Width + 26, 18), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  395.             e.Graphics.DrawImage(FindForm.Icon.ToBitmap, New Rectangle(Me.Width / 2 - (sz.Width / 2) + 2 - 20, 7, 16, 16))
  396.         End If
  397.     End Sub
  398.     Private Sub CloudTmr_Tick(sender As Object, e As EventArgs) Handles CloudTmr.Tick
  399.         If Animation = True Then
  400.             For Each Cloud As CloudItem In Items
  401.                 If Cloud.Toggle = True Then
  402.                     If Not Cloud.CloudLoc.X < Me.Width Then
  403.                         Cloud.CloudLoc = New Point(Cloud.CloudSize.Width - (Cloud.CloudSize.Width * 2), Cloud.CloudLoc.Y)
  404.                     Else
  405.                         Cloud.CloudLoc = New Point(Cloud.CloudLoc.X + Cloud.CloudSpeed, Cloud.CloudLoc.Y)
  406.                     End If
  407.                 End If
  408.             Next
  409.             If Retime_Update = True Then
  410.                 Me.Refresh()
  411.             End If
  412.         End If
  413.     End Sub
  414. #Region "ThemeDraggable"
  415.     Dim x, y As Integer
  416.     Private savePoint As New Point(0, 0)
  417.     Private isDragging As Boolean = False
  418.  
  419.     Protected Overrides Sub OnMouseDown(e As MouseEventArgs)
  420.         Dim dragRect As New Rectangle(0, 0, Me.Width - 61, 50)
  421.         Dim dragRect2 As New Rectangle(0, 21, Me.Width, 50)
  422.         If dragRect.Contains(New Point(e.X, e.Y)) Or dragRect2.Contains(New Point(e.X, e.Y)) Then
  423.             isDragging = True
  424.             savePoint = New Point(e.X, e.Y)
  425.         End If
  426.         Dim clickRect As New Rectangle(Me.Width - 22, 8, 12, 12)
  427.         If clickRect.Contains(New Point(e.X, e.Y)) Then
  428.             Environment.[Exit](0)
  429.         End If
  430.         If New Rectangle(Me.Width - 40, 8, 12, 12).Contains(New Point(mouseX, mouseY)) Then
  431.             If Not FindForm.WindowState = FormWindowState.Maximized Then
  432.                 FindForm.WindowState = FormWindowState.Maximized
  433.             Else
  434.                 FindForm.WindowState = FormWindowState.Normal
  435.             End If
  436.         End If
  437.         If New Rectangle(Me.Width - 58, 8, 12, 12).Contains(New Point(mouseX, mouseY)) Then
  438.             FindForm.WindowState = FormWindowState.Minimized
  439.         End If
  440.         '
  441.         MyBase.OnMouseDown(e)
  442.     End Sub
  443.  
  444.     Protected Overrides Sub OnMouseUp(e As MouseEventArgs)
  445.         isDragging = False
  446.         MyBase.OnMouseUp(e)
  447.     End Sub
  448.  
  449.     Private mouseX As Integer
  450.     Private mouseY As Integer
  451.     Protected Overrides Sub OnMouseMove(e As MouseEventArgs)
  452.  
  453.         mouseX = e.X
  454.         mouseY = e.Y
  455.         If isDragging Then
  456.             Dim screenPoint As Point = PointToScreen(e.Location)
  457.  
  458.             FindForm().Location = New Point(screenPoint.X - Me.savePoint.X, screenPoint.Y - Me.savePoint.Y)
  459.         End If
  460.         If New Rectangle(Me.Width - 40, 8, 12, 12).Contains(New Point(mouseX, mouseY)) Then
  461.             Maxhover = True
  462.         Else
  463.             Maxhover = False
  464.         End If
  465.         If New Rectangle(Me.Width - 58, 8, 12, 12).Contains(New Point(mouseX, mouseY)) Then
  466.             Minihover = True
  467.         Else
  468.             Minihover = False
  469.         End If
  470.         If New Rectangle(Me.Width - 22, 8, 12, 12).Contains(e.X, e.Y) Then
  471.             Exithover = True
  472.         Else
  473.             Exithover = False
  474.         End If
  475.         MyBase.OnMouseMove(e)
  476.         Invalidate()
  477.     End Sub
  478.  
  479.  
  480. #End Region
  481. #Region "Clouds Class"
  482.     Public Class ItemCollection
  483.         Inherits List(Of CloudItem)
  484.         Private Parent As KIO_Form
  485.         Public Sub New(Parent As KIO_Form)
  486.             Me.Parent = Parent
  487.         End Sub
  488.         Public Shadows Sub Add(Item As CloudItem)
  489.             MyBase.Add(Item)
  490.         End Sub
  491.         Public Shadows Sub AddRange(Range As List(Of CloudItem))
  492.             MyBase.AddRange(Range)
  493.         End Sub
  494.         Public Shadows Sub Clear()
  495.             MyBase.Clear()
  496.         End Sub
  497.         Public Shadows Sub Remove(Item As CloudItem)
  498.             MyBase.Remove(Item)
  499.         End Sub
  500.         Public Shadows Sub RemoveAt(Index As Integer)
  501.             MyBase.RemoveAt(Index)
  502.         End Sub
  503.         Public Shadows Sub RemoveAll(Predicate As System.Predicate(Of CloudItem))
  504.             MyBase.RemoveAll(Predicate)
  505.         End Sub
  506.         Public Shadows Sub RemoveRange(Index As Integer, Count As Integer)
  507.             MyBase.RemoveRange(Index, Count)
  508.         End Sub
  509.  
  510.     End Class
  511.     Public Class CloudItem
  512.         Property Text As String
  513.         Property ImgStr As String = "iVBORw0KGgoAAAANSUhEUgAAADAAAAAYCAYAAAC8/X7cAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5z2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTI0VDIzOjIzOjE3LTA1OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNS0wNS0yNFQyMzoyMzoxNy0wNTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDUtMjRUMjM6MjM6MTctMDU6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjBjZTkwZmExLTBlZmYtMGY0ZS1iYWIwLWI2ZWNlOTFmZTNlZjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDowNmVlMGY1ZC03NjY0LTExNDAtOWE0Yy00ZmMyOTQzZjI3YTY8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDowNmVlMGY1ZC03NjY0LTExNDAtOWE0Yy00ZmMyOTQzZjI3YTY8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6MDZlZTBmNWQtNzY2NC0xMTQwLTlhNGMtNGZjMjk0M2YyN2E2PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTA1LTI0VDIzOjIzOjE3LTA1OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowY2U5MGZhMS0wZWZmLTBmNGUtYmFiMC1iNmVjZTkxZmUzZWY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDUtMjRUMjM6MjM6MTctMDU6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjQ4PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjI0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz5TcItxAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAALDSURBVHjazJjPbtpAEMbzXDnkvapIeZpeKrWHqmpTR1UaDG0DATcKmJiAocEWEGMbKP6DsXe/HgDXEAO2lypdaQ4Gj+b77c7O7PoIwBGLHZ8W0xiWFv7GGv/owACIExnz35r9DwB/Bb0qyJsCBRWhGZYvX5aq4TMrBKv4NZF1sdYFgKntPkVFe54/JBS2M4dMKGwKoNGfarn7gb+CeFEAQQW8AD0K+IgMQgi2DUIprls6eEkDCwQzgKACUw91ZBhd3QYvaeDKzcwQB5n9ICDWyEGFAkEaAGvmg5e0tVVIC8GU93GbdGVJR7lthAAnZyU5bXViEr7LkoJYMx81ZQxe0nBZVUO/i/pMTQKROl0EFcjf9+z3OWEtUJyVFRoIKuD6eNwHMrLn+PYwBC9pKDwYnWiZZQKIigeAgGBMKEXraQpe0ry49InmMye6StKU6o/dcE/kG/pAUAFOdJVdEInEc6KrdIbzq2dVxLBRbhuodEzkF4F9XtKCz8XGIAqRFIBSoLgsrZubOzXA5uYkFNau4I4XQPhlhoE/FO6QBUJerCwbwCrg7xlqacpiQChuH0expTEpgGl5awBX9f785KwkZwLIMibOnAnA88kawFex56ZeAU50lSzifUJx112UxHdfrsMKxYmuouuGsc9/HhA0BwdMobRddXW2eXOeezb7AcE4zk/qTVCSjdB3I33YACx31gdAk+Z/fjlj0d4gqEC3055s87tZduJN48ottj6QpptuAkTFV77ntvro09lixT5dbe0lmTtxVASl8PaeLA07duN+fPs6tt73Rg4Ky84b9TnoWSjaSX0Cc5t41XTsQmM4jhOy8ldNx2oP3c59b4IfTT22X/yT+8DxaREnZyVZUIGft9WaOdRQE0o7jw9x9+HVO+dFCbyk4aIiW2lS5SCHuYS274sEygoNDnWxZ77Uv7T9GQDtaYQrxpMKuAAAAABJRU5ErkJggg=="
  514.         Property CloudSpeed As Integer = 1
  515.         Property CloudLoc As Point = New Point(20, 20)
  516.         Property CloudSize As Size = New Size(44, 24)
  517.         Property Toggle As Boolean = True
  518.         Protected UniqueId As Guid
  519.         Sub New()
  520.             UniqueId = Guid.NewGuid()
  521.         End Sub
  522.         Public Overrides Function ToString() As String
  523.             Return Text
  524.         End Function
  525.  
  526.         Public Overrides Function Equals(obj As Object) As Boolean
  527.             If TypeOf obj Is CloudItem Then
  528.                 Return (DirectCast(obj, CloudItem).UniqueId = UniqueId)
  529.             End If
  530.             Return False
  531.         End Function
  532.  
  533.     End Class
  534.     Public _Items As New ItemCollection(Me)
  535.     <DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>
  536.     Public Property Items As ItemCollection
  537.         Get
  538.             Return _Items
  539.         End Get
  540.         Set(ByVal value As ItemCollection)
  541.             _Items = value
  542.         End Set
  543.     End Property
  544. #End Region
  545. End Class
  546. Public Class KIO_SquareButton
  547.     Inherits Control
  548.     Dim WithEvents tmr As New Timer
  549.     Property Outer_Color As Color = Color.FromArgb(206, 228, 255) '197, 240, 238 <- Different Looking Blues
  550.     Property Fill_Color As Color = Color.FromArgb(58, 123, 201) '99, 216, 212 <- Different Looking Blues
  551.     Property Text_Color As Color = Color.White
  552.     Property Hover_Text_Color As Color = Color.FromArgb(58, 123, 201)
  553.     Property Icon As Image
  554.     Property Fill_Opacity As Integer = 0
  555.     Property Fill_Opacity2 As Integer = 125
  556.     Property ShowIcon As Boolean = True
  557.     Property Icon_width As Integer = 30
  558.     Property Toggled As Boolean = False
  559.     Property Text_Font As Font = New Font("Arial", 12, FontStyle.Bold)
  560.     Event Clicked()
  561.     Sub New()
  562.         tmr.Interval = 10
  563.         tmr.Start()
  564.         Me.BackColor = Color.White
  565.         Me.Size = New Size(120, 45)
  566.         Me.DoubleBuffered = True
  567.     End Sub
  568.  
  569.     Private Sub KIO_SquareButton_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  570.         e.Graphics.SmoothingMode = SmoothingMode.HighQuality
  571.         e.Graphics.Clear(BackColor)
  572.         e.Graphics.FillRectangle(New SolidBrush(Outer_Color), New Rectangle(0, 0, Me.Width, Me.Height))
  573.         e.Graphics.FillRectangle(New SolidBrush(Color.FromArgb(Fill_Opacity2 * 2, Fill_Color)), New Rectangle(5, 5, Me.Width - 10, Me.Height - 10))
  574.         If ShowIcon = True Then
  575.             Try
  576.                 e.Graphics.DrawString(Me.Text, Text_Font, New SolidBrush(Color.FromArgb(Fill_Opacity2 * 2, Text_Color)), New Rectangle(5, 5, (Me.Width + Icon_width) - 10, Me.Height - 10), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  577.                 e.Graphics.DrawString(Me.Text, Text_Font, New SolidBrush(Color.FromArgb(Fill_Opacity, Hover_Text_Color)), New Rectangle(5, 5, (Me.Width + Icon_width) - 10, Me.Height - 10), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  578.                 e.Graphics.DrawImage(Icon, New Rectangle(8, 8, Icon_width, Me.Height - 16))
  579.             Catch : End Try
  580.         Else
  581.             e.Graphics.DrawString(Me.Text, Text_Font, New SolidBrush(Color.FromArgb(Fill_Opacity2 * 2, Text_Color)), New Rectangle(5, 5, Me.Width - 10, Me.Height - 10), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  582.             e.Graphics.DrawString(Me.Text, Text_Font, New SolidBrush(Color.FromArgb(Fill_Opacity, Hover_Text_Color)), New Rectangle(5, 5, Me.Width - 10, Me.Height - 10), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  583.         End If
  584.     End Sub
  585.  
  586.     Private Sub tmr_Tick(sender As Object, e As EventArgs) Handles tmr.Tick
  587.         If Toggled = True Then
  588.             If Not Fill_Opacity > 249 Then
  589.                 Fill_Opacity += 10
  590.                 If Fill_Opacity2 >= 10 Then
  591.                     Fill_Opacity2 -= 10
  592.                 End If
  593.                 Me.Refresh()
  594.             End If
  595.         Else
  596.             If Not Fill_Opacity < 1 Then
  597.                 Fill_Opacity -= 10
  598.                 If Fill_Opacity2 <= 120 Then
  599.                     Fill_Opacity2 += 10
  600.                 End If
  601.                 Me.Refresh()
  602.             End If
  603.         End If
  604.     End Sub
  605.  
  606.     Private Sub KIO_SquareButton_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
  607.         If New Rectangle(5, 5, Me.Width - 10, Me.Height - 10).Contains(e.X, e.Y) Then
  608.             Toggled = True
  609.             Cursor = Cursors.Hand
  610.         Else
  611.             Toggled = False
  612.             Cursor = Cursors.Arrow
  613.         End If
  614.     End Sub
  615.  
  616.     Private Sub KIO_SquareButton_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave
  617.         Toggled = False
  618.         Cursor = Cursors.Arrow
  619.     End Sub
  620.  
  621.     Private Sub KIO_SquareButton_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
  622.         If e.Button = MouseButtons.Left Then
  623.             RaiseEvent Clicked()
  624.             Fill_Opacity2 = 125
  625.             Fill_Opacity = 0
  626.             Me.Refresh()
  627.         End If
  628.     End Sub
  629. End Class
  630. Public Class KIO_Note
  631.     Inherits Control
  632.     Property Border_Color As Color = Color.FromArgb(206, 228, 255) '197, 240, 238 <- Different Looking Blues
  633.     Property Fill_Color As Color = Color.FromArgb(58, 123, 201) '99, 216, 212 <- Different Looking Blues
  634.     Property Whole_color As Color = Color.White
  635.     Property Text_Color As Color = Color.White
  636.     Property Text_Font As Font = New Font("Arial", 12, FontStyle.Bold)
  637.     Property Image As Image
  638.     Property Fold As Integer = 20
  639.     Sub New()
  640.         Me.Size = New Size(125, 105)
  641.         Me.DoubleBuffered = True
  642.         Me.BackColor = Color.White
  643.     End Sub
  644.  
  645.     Public Shared Function OvalImage(img As Image) As Image
  646.         Dim bmp As New Bitmap(img.Width, img.Height)
  647.         Using gp As New GraphicsPath()
  648.             gp.AddEllipse(0, 0, img.Width, img.Height)
  649.             Using gr As Graphics = Graphics.FromImage(bmp)
  650.                 gr.SetClip(gp)
  651.                 gr.DrawImage(img, Point.Empty)
  652.             End Using
  653.         End Using
  654.         Return bmp
  655.     End Function
  656.     Private Sub Kio_Note_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  657.         e.Graphics.SmoothingMode = SmoothingMode.HighQuality
  658.         e.Graphics.Clear(BackColor)
  659.         Dim npoints As PointF() = {New Point(Fold, 1), New Point(Me.Width - 3, 1), New Point(Me.Width - 3, Me.Height - 3), New Point(1, Me.Height - 3), New Point(1, Fold), New Point(Fold, 1)}
  660.         e.Graphics.FillPolygon(New SolidBrush(Fill_Color), npoints)
  661.         e.Graphics.FillEllipse(New SolidBrush(Border_Color), New Rectangle(Me.Width / 2 - 30, 10, 60, 60))
  662.         e.Graphics.FillEllipse(New SolidBrush(Whole_color), New Rectangle(Me.Width / 2 - 28, 12, 56, 56))
  663.         Try
  664.             e.Graphics.DrawImage(OvalImage(Image), New Rectangle(Me.Width / 2 - 28, 12, 56, 56))
  665.         Catch : End Try
  666.         e.Graphics.DrawString(Me.Text, Text_Font, New SolidBrush(Text_Color), New Rectangle(2, Me.Height - 22, Me.Width - 4, 20), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  667.     End Sub
  668. End Class
  669. Public Class KIO_Checkbox
  670.     Inherits Control
  671.     Dim WithEvents tmr As New Timer
  672.     Sub New()
  673.         tmr.Interval = 1
  674.         Me.Size = New Size(187, 24)
  675.         Me.DoubleBuffered = True
  676.     End Sub
  677.     Dim r_color As Integer = 255
  678.     Dim g_color As Integer = 1
  679.     Dim b_color As Integer = 255
  680.     <Category("Color")>
  681.     Property Border_color As Color = Color.FromArgb(190, 203, 205)
  682.     <Category("Color")>
  683.     Property Check_color As Color = Color.FromArgb(58, 123, 201)
  684.     <Category("Color")>
  685.     Property Text_color As Color = Color.FromArgb(106, 121, 123)
  686.     <Category("Color")>
  687.     Property csBorder_color As Color = Color.FromArgb(58, 123, 201)
  688.     <Category("Color")>
  689.     Property crBorder_color As Color = Color.FromArgb(206, 228, 255)
  690.     <Category("Color")>
  691.     Property Back_color As Color = Color.FromArgb(255, 255, 255)
  692.     <Category("Color")>
  693.     Property Ball_color As Color = Color.FromArgb(248, 37, 71)
  694.     <Category("Color")>
  695.     Property BorderBall_color As Color = Color.FromArgb(248, 89, 115)
  696.     Property Fonnt As Font = New Font("Arial", 11, FontStyle.Regular)
  697.     Property Orb As Boolean = False
  698.     Property Animation As Boolean = False
  699. #Region "Functions"
  700.     Public Sub FixRoundRectClicked(g As Graphics, rect As Rectangle)
  701.         'Fix Top
  702.         'Line right
  703.         g.DrawLine(New Pen(Border_color), New Point(rect.Width - 7, 2), New Point(rect.Width - 7, 7))
  704.         'Line left
  705.         g.DrawLine(New Pen(Border_color), New Point(7, 2), New Point(7, 7))
  706.         'Long Line
  707.         g.DrawLine(New Pen(Border_color), New Point(2, 7), New Point(rect.Width - 2, 7))
  708.         'Fix Bottom
  709.         'Line Bottom Right
  710.         ' g.DrawLine(New Pen(Under_Color), New Point(7, Me.Height - 2), New Point(7, Me.Height - 4))
  711.         'Line Bottom Left
  712.         ' g.DrawLine(New Pen(Under_Color), New Point(Me.Width - 7, Me.Height - 2), New Point(Me.Width - 7, Me.Height - 4))
  713.         'Line right
  714.         g.DrawLine(New Pen(Border_color), New Point(rect.Width - 7, rect.Height - 2), New Point(rect.Width - 7, rect.Height - 6))
  715.         'Line left
  716.         g.DrawLine(New Pen(Border_color), New Point(7, rect.Height - 2), New Point(7, rect.Height - 6))
  717.         'Long Line
  718.         g.DrawLine(New Pen(Border_color), New Point(2, rect.Height - 7), New Point(rect.Width - 2, rect.Height - 7))
  719.     End Sub
  720.     Public Sub FixRoundRect(g As Graphics)
  721.         'Fix Top
  722.         'Line right
  723.         g.DrawLine(New Pen(Border_color), New Point(Me.Width - 7, 2), New Point(Me.Width - 7, 7))
  724.         'Line left
  725.         g.DrawLine(New Pen(Border_color), New Point(7, 2), New Point(7, 7))
  726.         'Long Line
  727.         g.DrawLine(New Pen(Border_color), New Point(2, 7), New Point(Me.Width - 2, 7))
  728.         'Fix Bottom
  729.         'Line Bottom Right
  730.         ' g.DrawLine(New Pen(Under_Color), New Point(7, Me.Height - 2), New Point(7, Me.Height - 4))
  731.         'Line Bottom Left
  732.         'g.DrawLine(New Pen(Under_Color), New Point(Me.Width - 7, Me.Height - 2), New Point(Me.Width - 7, Me.Height - 4))
  733.         'Line right
  734.         g.DrawLine(New Pen(Border_color), New Point(Me.Width - 7, Me.Height - 6), New Point(Me.Width - 7, Me.Height - 11))
  735.         'Line left
  736.         g.DrawLine(New Pen(Border_color), New Point(7, Me.Height - 6), New Point(7, Me.Height - 11))
  737.         'Long Line
  738.         g.DrawLine(New Pen(Border_color), New Point(2, Me.Height - 11), New Point(Me.Width - 2, Me.Height - 11))
  739.     End Sub
  740.     Public Sub DrawRoundRect(g As Graphics, p As Pen, x As Single, y As Single, width As Single, height As Single,
  741.       radius As Single)
  742.         Dim gp As New GraphicsPath()
  743.  
  744.         gp.AddLine(x + radius, y, x + width - (radius * 2), y)
  745.         ' Line
  746.         gp.AddArc(x + width - (radius * 2), y, radius * 2, radius * 2, 270, 90)
  747.         ' Corner
  748.         gp.AddLine(x + width, y + radius, x + width, y + height - (radius * 2))
  749.         ' Line
  750.         gp.AddArc(x + width - (radius * 2), y + height - (radius * 2), radius * 2, radius * 2, 0, 90)
  751.         ' Corner
  752.         gp.AddLine(x + width - (radius * 2), y + height, x + radius, y + height)
  753.         ' Line
  754.         gp.AddArc(x, y + height - (radius * 2), radius * 2, radius * 2, 90, 90)
  755.         ' Corner
  756.         gp.AddLine(x, y + height - (radius * 2), x, y + radius)
  757.         ' Line
  758.         gp.AddArc(x, y, radius * 2, radius * 2, 180, 90)
  759.         ' Corner
  760.         gp.CloseFigure()
  761.  
  762.         g.DrawPath(p, gp)
  763.         gp.Dispose()
  764.     End Sub
  765.     Public Sub FillRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
  766.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  767.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
  768.         g.FillPie(b, r.X, r.Y, d, d, 180, 90)
  769.         g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90)
  770.         g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  771.         g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  772.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  773.         g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  774.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  775.         g.SmoothingMode = mode
  776.     End Sub
  777.     Public Sub FillNotTopRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
  778.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  779.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
  780.         g.FillPie(b, r.X, r.Y, 1, 1, 180, 90)
  781.         g.FillPie(b, r.X + r.Width - d, r.Y, 1, 1, 270, 90)
  782.         g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  783.         g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  784.         ' g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  785.         g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  786.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  787.         g.SmoothingMode = mode
  788.     End Sub
  789.     Public Sub FillNotBottomRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
  790.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  791.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
  792.         g.FillPie(b, r.X, r.Y, d, d, 180, 90)
  793.         g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90)
  794.         'g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  795.         '  g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  796.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  797.         ' g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  798.         '   g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  799.         g.SmoothingMode = mode
  800.     End Sub
  801. #End Region
  802.     Property Checked As Boolean = False
  803.     Event CheckedChanged()
  804.     Private Sub PlisticBlue_Checkbox_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  805.         e.Graphics.Clear(BackColor)
  806.         e.Graphics.SmoothingMode = SmoothingMode.AntiAlias
  807.         If Orb = True Then
  808.             If Animation = True Then
  809.                 If Not tmr.Enabled = True Then
  810.                     tmr.Start()
  811.                 End If
  812.                 e.Graphics.FillEllipse(New SolidBrush(Color.FromArgb(100, r_color, g_color, b_color)), New Rectangle(24, 7, 8, 8))
  813.                 e.Graphics.FillEllipse(New SolidBrush(Color.FromArgb(r_color, g_color, b_color)), New Rectangle(25, 8, 6, 6))
  814.             Else
  815.                 If Not tmr.Enabled = False Then
  816.                     tmr.Stop()
  817.                 End If
  818.                 e.Graphics.FillEllipse(New SolidBrush(BorderBall_color), New Rectangle(24, 7, 8, 8))
  819.                 e.Graphics.FillEllipse(New SolidBrush(Ball_color), New Rectangle(25, 8, 6, 6))
  820.             End If
  821.  
  822.             If Checked = False Then
  823.                 DrawRoundRect(e.Graphics, New Pen(Border_color), 1, 1, 20, 20, 2)
  824.                 e.Graphics.DrawRectangle(New Pen(Border_color), New Rectangle(2, 2, 18, 18))
  825.             Else
  826.                 DrawRoundRect(e.Graphics, New Pen(crBorder_color), 1, 1, 20, 20, 2)
  827.                 e.Graphics.DrawRectangle(New Pen(csBorder_color), New Rectangle(2, 2, 18, 18))
  828.  
  829.                 '  FixRoundRectClicked(e.Graphics, New Rectangle(0, 0, 21, 22))
  830.                 e.Graphics.DrawString("a", New Font("Webdings", 16, FontStyle.Regular), New SolidBrush(Check_color), New Rectangle(2, 0, 20, 20), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  831.             End If
  832.             e.Graphics.DrawString(Text, Fonnt, New SolidBrush(Text_color), New Rectangle(34, 1, Me.Width - 23, Me.Height - 2), New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  833.         Else
  834.             If Checked = False Then
  835.                 DrawRoundRect(e.Graphics, New Pen(Border_color), 1, 1, 20, 20, 2)
  836.                 e.Graphics.DrawRectangle(New Pen(Border_color), New Rectangle(2, 2, 18, 18))
  837.             Else
  838.                 DrawRoundRect(e.Graphics, New Pen(crBorder_color), 1, 1, 20, 20, 2)
  839.                 e.Graphics.DrawRectangle(New Pen(csBorder_color), New Rectangle(2, 2, 18, 18))
  840.  
  841.                 '  FixRoundRectClicked(e.Graphics, New Rectangle(0, 0, 21, 22))
  842.                 e.Graphics.DrawString("a", New Font("Webdings", 16, FontStyle.Regular), New SolidBrush(Check_color), New Rectangle(2, 0, 20, 20), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  843.             End If
  844.             e.Graphics.DrawString(Text, Fonnt, New SolidBrush(Text_color), New Rectangle(24, 1, Me.Width - 23, Me.Height - 2), New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  845.         End If
  846.     End Sub
  847. #Region "Mouse"
  848.     Private Sub PlisticBlue_Checkbox_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
  849.         If e.Button = MouseButtons.Left Then
  850.             If New Rectangle(1, 1, 20, 20).Contains(e.X, e.Y) Then
  851.                 Checked = Not Checked
  852.                 RaiseEvent CheckedChanged()
  853.                 Me.Refresh()
  854.             End If
  855.         End If
  856.     End Sub
  857.  
  858.     Private Sub PlisticBlue_Checkbox_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
  859.         If New Rectangle(1, 1, 20, 20).Contains(e.X, e.Y) Then
  860.             Cursor = Cursors.Hand
  861.         Else
  862.             Cursor = Cursors.Arrow
  863.         End If
  864.     End Sub
  865.  
  866.     Private Sub tmr_Tick(sender As Object, e As EventArgs) Handles tmr.Tick
  867.         Dim rand As New Random
  868.         If r_color = 255 Then
  869.             r_color = rand.Next(1, 245)
  870.         Else
  871.             r_color += 1
  872.         End If
  873.         If g_color = 255 Then
  874.             g_color = rand.Next(1, 245)
  875.         Else
  876.             g_color += 1
  877.         End If
  878.         If b_color = 255 Then
  879.             b_color = rand.Next(1, 245)
  880.         Else
  881.             b_color += 1
  882.         End If
  883.         Me.Refresh()
  884.     End Sub
  885. #End Region
  886. End Class
  887. Public Class KIO_HeaderLbl
  888.     Inherits Control
  889.     Property Icon As Boolean = False
  890.     Property Sub_Text As Boolean = False
  891.     Property Image As Image
  892.     Property Fill_Color As Color = Color.FromArgb(66, 137, 223)
  893.     Property Fold_Color As Color = Color.FromArgb(58, 123, 201)
  894.     Property RoundedCorner As Boolean = False
  895.     Property Image_Size As Size = New Size(40, 40)
  896.     Property Sub_String As String = "This is a string."
  897.     Property Text_Font As Font = New Font("Arial", 12, FontStyle.Bold)
  898.     Property Text_Color As Color = Color.White
  899.     Property Sub_Text_Font As Font = New Font("Arial", 10, FontStyle.Regular)
  900.     Sub New()
  901.         Me.BackColor = Color.White
  902.         Me.Size = New Size(120, 45)
  903.         Me.DoubleBuffered = True
  904.     End Sub
  905. #Region "Imported Functions"
  906.     Public Sub FillRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush, ByVal p As Pen)
  907.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  908.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
  909.         g.FillPie(b, r.X, r.Y, d, d, 180, 90)
  910.         g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90)
  911.         g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  912.         g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  913.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  914.         g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  915.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  916.         g.SmoothingMode = mode
  917.         '  g.DrawLine(p, New Point(r.X + 1, d - 3), New Point(r.Width, d - 3))
  918.         ' g.DrawLine(p, New Point(r.X + 1, r.Height - (d - 5)), New Point(r.Width, r.Height - (d - 5)))
  919.     End Sub
  920. #End Region
  921.     Private Sub KIO_HeaderLbl_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  922.         If RoundedCorner = False Then
  923.             e.Graphics.FillRectangle(New SolidBrush(Fold_Color), New Rectangle(0, 0, Me.Width, Me.Height))
  924.             e.Graphics.FillRectangle(New SolidBrush(Fill_Color), New Rectangle(0, 0, Me.Width, Me.Height - 4))
  925.         Else
  926.             FillRoundedRectangle(e.Graphics, New Rectangle(0, 0, Me.Width, Me.Height), 4, New SolidBrush(Fold_Color), New Pen(Fold_Color))
  927.             FillRoundedRectangle(e.Graphics, New Rectangle(0, 0, Me.Width, Me.Height - 4), 4, New SolidBrush(Fill_Color), New Pen(Fill_Color))
  928.         End If
  929.         If Icon = True Then
  930.             Try
  931.                 e.Graphics.DrawImage(Image, New Rectangle(5, 5, Image_Size.Width, Image_Size.Height))
  932.             Catch : End Try
  933.             If Sub_Text = True Then
  934.                 e.Graphics.DrawString(Me.Text, Text_Font, New SolidBrush(Text_Color), New Rectangle(Image_Size.Width + 3, 5, Me.Width - 3, Me.Height - 20), New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  935.                 e.Graphics.DrawString(Sub_String, Sub_Text_Font, New SolidBrush(Text_Color), New Rectangle(Image_Size.Width + 6, Me.Height - 38, Me.Width - 3, Me.Height - 10), New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  936.             Else
  937.                 e.Graphics.DrawString(Me.Text, Text_Font, New SolidBrush(Text_Color), New Rectangle(Image_Size.Width + 3, 5, Me.Width - Image_Size.Width + 3, Me.Height - 10), New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  938.             End If
  939.         Else
  940.             If Sub_Text = True Then
  941.                 e.Graphics.DrawString(Me.Text, Text_Font, New SolidBrush(Text_Color), New Rectangle(5, 5, Me.Width - 3, Me.Height - 20), New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  942.                 e.Graphics.DrawString(Sub_String, Sub_Text_Font, New SolidBrush(Text_Color), New Rectangle(8, Me.Height - 38, Me.Width - 3, Me.Height - 20), New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  943.             Else
  944.                 e.Graphics.DrawString(Me.Text, Text_Font, New SolidBrush(Text_Color), New Rectangle(5, 5, Me.Width - 3, Me.Height - 10), New StringFormat With {.Alignment = StringAlignment.Near, .LineAlignment = StringAlignment.Center})
  945.             End If
  946.         End If
  947.     End Sub
  948. End Class
  949.  
  950. Public Class KIO_Rating
  951.     Inherits Control
  952.     Property Selected As Integer = 0
  953.     Dim mouseover As Boolean = False
  954.     Dim mouseoveri As Integer = 0
  955.     Sub New()
  956.         Me.BackColor = Color.White
  957.         Dim itm As New StarItem
  958.         Me.DoubleBuffered = True
  959.     End Sub
  960.  
  961.     Public Sub KIO_Rating_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  962.  
  963.         If mouseover = False Then
  964.             Dim img As Bitmap
  965.             img = Nothing
  966.             For i As Integer = 0 To Items.Count
  967.                 If i = Selected Then
  968.                     Dim si As Integer = 0
  969.                     For Each itm As StarItem In Items
  970.                         If si + 1 = i Then
  971.                             e.Graphics.DrawString(itm.Text, itm.Text_Font, New SolidBrush(itm.Text_Color), New Rectangle(0, 0, Me.Width, 16), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  972.                         End If
  973.                         si += 1
  974.                     Next
  975.                 End If
  976.                 If i < Selected Then
  977.                     Dim i2 As Integer = 0
  978.                     For Each itm As StarItem In Items
  979.  
  980.                         If i2 = i Then
  981.                             Dim bytes As Byte() = Convert.FromBase64String(itm.SelectedStr)
  982.                             Using ms As New MemoryStream(bytes)
  983.                                 img = Image.FromStream(ms)
  984.                             End Using
  985.                             e.Graphics.DrawImage(img, New Rectangle(i2 * 18, Me.Height - 18, 16, 16))
  986.                             img.Dispose()
  987.                             img = Nothing
  988.                         End If
  989.                         i2 += 1
  990.                     Next
  991.                 Else
  992.                     Dim i2 As Integer = 0
  993.                     For Each itm As StarItem In Items
  994.                         If i2 = i Then
  995.                             Dim bytes As Byte() = Convert.FromBase64String(itm.UnselectedStr)
  996.                             Using ms As New MemoryStream(bytes)
  997.                                 img = Image.FromStream(ms)
  998.                             End Using
  999.                             e.Graphics.DrawImage(img, New Rectangle(i2 * 18, Me.Height - 18, 16, 16))
  1000.                             img.Dispose()
  1001.                             img = Nothing
  1002.                         End If
  1003.                         i2 += 1
  1004.                     Next
  1005.  
  1006.                 End If
  1007.             Next
  1008.         Else
  1009.             Dim img As Bitmap
  1010.             img = Nothing
  1011.             For i As Integer = 0 To Items.Count
  1012.                 If i = mouseoveri Then
  1013.                     Dim si As Integer = 0
  1014.                     For Each itm As StarItem In Items
  1015.                         If si + 1 = i Then
  1016.                             e.Graphics.DrawString(itm.Text, itm.Text_Font, New SolidBrush(itm.Text_Color), New Rectangle(0, 0, Me.Width, 16), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1017.                         End If
  1018.                         si += 1
  1019.                     Next
  1020.                 End If
  1021.                 If i < mouseoveri Then
  1022.                     Dim i2 As Integer = 0
  1023.                     For Each itm As StarItem In Items
  1024.                         If i2 = i Then
  1025.                             Dim bytes As Byte() = Convert.FromBase64String(itm.SelectedStr)
  1026.  
  1027.  
  1028.                             Using ms As New MemoryStream(bytes)
  1029.                                 img = Image.FromStream(ms)
  1030.                             End Using
  1031.                             e.Graphics.DrawImage(img, New Rectangle(i2 * 18, Me.Height - 18, 16, 16))
  1032.                             img.Dispose()
  1033.                             img = Nothing
  1034.                         End If
  1035.                         i2 += 1
  1036.                     Next
  1037.                 Else
  1038.                     Dim i2 As Integer = 0
  1039.                     For Each itm As StarItem In Items
  1040.                         If i2 = i Then
  1041.                             Dim bytes As Byte() = Convert.FromBase64String(itm.UnselectedStr)
  1042.                             Using ms As New MemoryStream(bytes)
  1043.                                 img = Image.FromStream(ms)
  1044.                             End Using
  1045.                             e.Graphics.DrawImage(img, New Rectangle(i2 * 18, Me.Height - 18, 16, 16))
  1046.                             img.Dispose()
  1047.                             img = Nothing
  1048.                         End If
  1049.                         i2 += 1
  1050.                     Next
  1051.  
  1052.                 End If
  1053.             Next
  1054.         End If
  1055.  
  1056.  
  1057.     End Sub
  1058.  
  1059.     Private Sub KIO_Rating_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
  1060.         If New Rectangle(0, Me.Height - 18, Me.Width, 16).Contains(e.X, e.Y) Then
  1061.             mouseover = True
  1062.             mouseoveri = Math.Ceiling(e.X / 18)
  1063.             Me.Refresh()
  1064.         Else
  1065.             mouseover = False
  1066.             Me.Refresh()
  1067.         End If
  1068.     End Sub
  1069.     Event Clicked(i As Integer)
  1070.     Private Sub KIO_Rating_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
  1071.         If e.Button = MouseButtons.Left Then
  1072.             If mouseover = True Then
  1073.                 Dim si As Integer = 0
  1074.                 For Each itm As StarItem In Items
  1075.                     If New Rectangle(si * 18, Me.Height - 18, 16, 16).Contains(e.X, e.Y) Then
  1076.                         Selected = mouseoveri
  1077.                         RaiseEvent Clicked(mouseoveri)
  1078.                         mouseover = False
  1079.                         Me.Refresh()
  1080.                     End If
  1081.                     si += 1
  1082.                 Next
  1083.             End If
  1084.         End If
  1085.     End Sub
  1086. #Region "Stars Class"
  1087.     Public Class ItemCollection
  1088.         Inherits List(Of StarItem)
  1089.         Private Parent As KIO_Rating
  1090.         Public Sub New(Parent As KIO_Rating)
  1091.             Me.Parent = Parent
  1092.         End Sub
  1093.         Public Shadows Sub Add(Item As StarItem)
  1094.             MyBase.Add(Item)
  1095.         End Sub
  1096.         Public Shadows Sub AddRange(Range As List(Of StarItem))
  1097.             MyBase.AddRange(Range)
  1098.         End Sub
  1099.         Public Shadows Sub Clear()
  1100.             MyBase.Clear()
  1101.         End Sub
  1102.         Public Shadows Sub Remove(Item As StarItem)
  1103.             MyBase.Remove(Item)
  1104.         End Sub
  1105.         Public Shadows Sub RemoveAt(Index As Integer)
  1106.             MyBase.RemoveAt(Index)
  1107.         End Sub
  1108.         Public Shadows Sub RemoveAll(Predicate As System.Predicate(Of StarItem))
  1109.             MyBase.RemoveAll(Predicate)
  1110.         End Sub
  1111.         Public Shadows Sub RemoveRange(Index As Integer, Count As Integer)
  1112.             MyBase.RemoveRange(Index, Count)
  1113.         End Sub
  1114.  
  1115.     End Class
  1116.     Public Class StarItem
  1117.         Property Text As String
  1118.         Property SelectedStr As String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5z2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTMxVDA3OjM4OjU4LTA1OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDYtMDFUMjA6NTE6MjQtMDU6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE1LTA2LTAxVDIwOjUxOjI0LTA1OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjllODg2ODMyLWJjNzAtMzQ0Yi04OGVjLWI3NGIxYjRiODM0NzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDpjZDA4ZGRiOS1mMGVkLWVjNDgtYjI5MC1kOGUyY2IzYzRiYTY8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDpjZDA4ZGRiOS1mMGVkLWVjNDgtYjI5MC1kOGUyY2IzYzRiYTY8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6Y2QwOGRkYjktZjBlZC1lYzQ4LWIyOTAtZDhlMmNiM2M0YmE2PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTA1LTMxVDA3OjM4OjU4LTA1OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5ZTg4NjgzMi1iYzcwLTM0NGItODhlYy1iNzRiMWI0YjgzNDc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDYtMDFUMjA6NTE6MjQtMDU6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE2PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjE2PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz5eCXOMAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAGnSURBVHjapNPPSxNgGAfwz9SVa80kmkhQVkSZk1yRBSFJEp6KztHBIOjuoUPYJehQXbr4L4RHiW5RQXWRolIwQgtZShg5mjIrFXQeehdzbUL0Xt7nfZ7v8/P7vJFCoeB/TqSnLVnVhv4g30fFTHWbBL+OuyW4e/9SQSOmkQjvPPZivhxYUyV7HxLtqW7tqW4hUN9mLezDBRzHLpyCk50Xwfj75zCAc8jiLR4hU4dWvEN9aeR0R690R+8feXTscRLng/lKmMmxSE9b8jA+IHL50m3xeKOWlqOiazvkZpbFGuokmqNyc1lTU2PyCzkPn9wSWDlSgwncgQdDN22LNUhs32l2/KelhVW5mWXTrxflM/VWvtcXnQWfidr9yTg8w1Z0jbwalmo9q5Bv2DCsufmPhp5eLXUeKGWhgBsYhMnJN39N+0t2rCgOBmyhEo17IB79vRuLv7J+LGVBIta0AVNtEzthS02j4Zf9Ml9HwIHdXU6nrhUxJzbbxNWyqmbDn2gu0a2httomfg73SuD5ENpC3ytlmIoVHEQaL/CtLHgTzmAUn4rK9QEArjZyNvYSWAoAAAAASUVORK5CYII="
  1119.         Property UnselectedStr As String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAA5z2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE1LTA1LTMxVDA3OjM4OjU4LTA1OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTUtMDYtMDFUMjA6NTE6MTEtMDU6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE1LTA2LTAxVDIwOjUxOjExLTA1OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjI1ODE4MzBjLWEyZGUtY2E0YS1iNTc3LWQ5YjU0MGQwNzIyYzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDphNTIzMzUyNi1kOGI2LWRlNGMtYTAxNS03OTgyZGRlOGI5Njg8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDphNTIzMzUyNi1kOGI2LWRlNGMtYTAxNS03OTgyZGRlOGI5Njg8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6YTUyMzM1MjYtZDhiNi1kZTRjLWEwMTUtNzk4MmRkZThiOTY4PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE1LTA1LTMxVDA3OjM4OjU4LTA1OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoyNTgxODMwYy1hMmRlLWNhNGEtYjU3Ny1kOWI1NDBkMDcyMmM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDYtMDFUMjA6NTE6MTEtMDU6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjE2PC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjE2PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6JwU+uAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAENSURBVHjanNI/L4NRFAbwX19NDJLGn+hiQCpM7L4AizAhLO8naFi6iskisUrE0BrM3XwDYjSJAQOLsKCJoUMtt0nTtNdbT3Jzz715znPPfc7JVatVEUxiHA/9CIk4NnEQI8QERlDBLpb+I1DBTIiPBxUoYq/jvILVXsR8xz6FEpbD30e7uBe4xDXu8YLPPHZwEhwfinypiP2w4AtnCeq4+SO5F95xmuAH27gaIPk1ePLUNrGJLdxmSP7AGh67u9BAOYPAEe76tbGQQWAsNgfzGQQWes1BG3MdcTN06C20eiLcT8cqKOEb51gMxpbDq4dheGYx3E7ItVotUKvVctgIBj33Kb+AddTTNG3A7wBnlzAdFwlnEAAAAABJRU5ErkJggg=="
  1120.         Protected UniqueId As Guid
  1121.         Property Text_Color As Color = Color.Black
  1122.         Property Text_Font As Font = New Font("Arial", 12, FontStyle.Regular)
  1123.         Sub New()
  1124.             UniqueId = Guid.NewGuid()
  1125.         End Sub
  1126.         Public Overrides Function ToString() As String
  1127.             Return Text
  1128.         End Function
  1129.  
  1130.         Public Function ToUNS() As String
  1131.             Return UnselectedStr
  1132.         End Function
  1133.         Public Function ToS() As String
  1134.             Return SelectedStr
  1135.         End Function
  1136.         Public Overrides Function Equals(obj As Object) As Boolean
  1137.             If TypeOf obj Is StarItem Then
  1138.                 Return (DirectCast(obj, StarItem).UniqueId = UniqueId)
  1139.             End If
  1140.             Return False
  1141.         End Function
  1142.  
  1143.     End Class
  1144.     Public _Items As New ItemCollection(Me)
  1145.     <DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>
  1146.     Public Property Items As ItemCollection
  1147.         Get
  1148.             Return _Items
  1149.         End Get
  1150.         Set(ByVal value As ItemCollection)
  1151.             _Items = value
  1152.         End Set
  1153.     End Property
  1154. #End Region
  1155. End Class
  1156. Public Class KIO_Step_Button
  1157.     Inherits Control
  1158.     Enum Selecte
  1159.         None
  1160.         S1
  1161.         S2
  1162.         S3
  1163.     End Enum
  1164.     Property Selected As Selecte = Selecte.None
  1165.     Property Color1 As Color = Color.FromArgb(200, 62, 41)
  1166.     Property Color2 As Color = Color.FromArgb(202, 109, 42)
  1167.     Property Color3 As Color = Color.FromArgb(115, 140, 68)
  1168.     Property Color_Selected As Color = Color.White
  1169.     Property Step_Font As Font = New Font("Arial", 12, FontStyle.Regular)
  1170.     Sub New()
  1171.         Me.DoubleBuffered = True
  1172.         Me.BackColor = Color.White
  1173.     End Sub
  1174. #Region "Imported Functions"
  1175.     Public Sub FillRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
  1176.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  1177.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
  1178.         g.FillPie(b, r.X, r.Y, d, d, 180, 90)
  1179.         g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90)
  1180.         g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  1181.         g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  1182.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  1183.         g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  1184.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  1185.         g.SmoothingMode = mode
  1186.         '  g.DrawLine(p, New Point(r.X + 1, d - 3), New Point(r.Width, d - 3))
  1187.         ' g.DrawLine(p, New Point(r.X + 1, r.Height - (d - 5)), New Point(r.Width, r.Height - (d - 5)))
  1188.     End Sub
  1189.     Public Sub DrawRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal p As Pen)
  1190.  
  1191.         g.DrawArc(p, r.X, r.Y, d, d, 180, 90)
  1192.         g.DrawLine(p, CInt(r.X + d / 2), r.Y, CInt(r.X + r.Width - d / 2), r.Y)
  1193.         g.DrawArc(p, r.X + r.Width - d, r.Y, d, d, 270, 90)
  1194.         g.DrawLine(p, r.X, CInt(r.Y + d / 2), r.X, CInt(r.Y + r.Height - d / 2))
  1195.         g.DrawLine(p, CInt(r.X + r.Width), CInt(r.Y + d / 2), CInt(r.X + r.Width), CInt(r.Y + r.Height - d / 2))
  1196.         g.DrawLine(p, CInt(r.X + d / 2), CInt(r.Y + r.Height), CInt(r.X + r.Width - d / 2), CInt(r.Y + r.Height))
  1197.         g.DrawArc(p, r.X, r.Y + r.Height - d, d, d, 90, 90)
  1198.         g.DrawArc(p, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  1199.     End Sub
  1200. #End Region
  1201.     Private Sub KIO_Step_Button_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  1202.         e.Graphics.SmoothingMode = SmoothingMode.HighQuality
  1203.         If Selected = Selecte.None Then
  1204.             DrawRoundedRectangle(e.Graphics, New Rectangle(0, 0, Me.Width / 2, Me.Height - 1), 18, New Pen(Color1))
  1205.             e.Graphics.DrawString("1", Step_Font, New SolidBrush(Color1), New Rectangle(0, 0, Me.Width / 3 + 5, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1206.             DrawRoundedRectangle(e.Graphics, New Rectangle(Me.Width / 2 - 2, 0, Me.Width / 2, Me.Height - 1), 18, New Pen(Color3))
  1207.             e.Graphics.DrawString("3", Step_Font, New SolidBrush(Color3), New Rectangle(Me.Width - Me.Width / 3, 0, Me.Width / 3, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1208.             e.Graphics.FillRectangle(New SolidBrush(Color.White), New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), 0, Me.Width / 3, Me.Height))
  1209.             e.Graphics.DrawRectangle(New Pen(Color2), New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), 0, Me.Width / 3, Me.Height - 1))
  1210.             e.Graphics.DrawString("2", Step_Font, New SolidBrush(Color2), New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), 0, Me.Width / 3, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1211.         ElseIf Selected = Selecte.S1 Then
  1212.             DrawRoundedRectangle(e.Graphics, New Rectangle(0, 0, Me.Width / 2, Me.Height - 1), 18, New Pen(Color1))
  1213.             FillRoundedRectangle(e.Graphics, New Rectangle(0, 0, Me.Width / 2, Me.Height - 1), 18, New SolidBrush(Color1))
  1214.             e.Graphics.DrawString("1", Step_Font, New SolidBrush(Color_Selected), New Rectangle(0, 0, Me.Width / 3 + 5, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1215.             DrawRoundedRectangle(e.Graphics, New Rectangle(Me.Width / 2 - 2, 0, Me.Width / 2, Me.Height - 1), 18, New Pen(Color3))
  1216.             e.Graphics.DrawString("3", Step_Font, New SolidBrush(Color3), New Rectangle(Me.Width - Me.Width / 3, 0, Me.Width / 3, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1217.             e.Graphics.FillRectangle(New SolidBrush(Color.White), New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), 0, Me.Width / 3, Me.Height))
  1218.             e.Graphics.DrawRectangle(New Pen(Color2), New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), 0, Me.Width / 3, Me.Height - 1))
  1219.             e.Graphics.DrawString("2", Step_Font, New SolidBrush(Color2), New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), 0, Me.Width / 3, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1220.         ElseIf Selected = Selecte.S2 Then
  1221.             DrawRoundedRectangle(e.Graphics, New Rectangle(0, 0, Me.Width / 2, Me.Height - 1), 18, New Pen(Color1))
  1222.             FillRoundedRectangle(e.Graphics, New Rectangle(0, 0, Me.Width / 2, Me.Height - 1), 18, New SolidBrush(Color1))
  1223.             e.Graphics.DrawString("1", Step_Font, New SolidBrush(Color_Selected), New Rectangle(0, 0, Me.Width / 3 + 5, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1224.             DrawRoundedRectangle(e.Graphics, New Rectangle(Me.Width / 2 - 2, 0, Me.Width / 2, Me.Height - 1), 18, New Pen(Color3))
  1225.             e.Graphics.DrawString("3", Step_Font, New SolidBrush(Color3), New Rectangle(Me.Width - Me.Width / 3, 0, Me.Width / 3, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1226.  
  1227.             e.Graphics.FillRectangle(New SolidBrush(Color2), New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), -1, Me.Width / 3, Me.Height + 1))
  1228.             e.Graphics.DrawString("2", Step_Font, New SolidBrush(Color_Selected), New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), 0, Me.Width / 3, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1229.         ElseIf Selected = Selecte.S3 Then
  1230.             DrawRoundedRectangle(e.Graphics, New Rectangle(0, 0, Me.Width / 2, Me.Height - 1), 18, New Pen(Color1))
  1231.             DrawRoundedRectangle(e.Graphics, New Rectangle(Me.Width / 2 - 2, 0, Me.Width / 2, Me.Height - 1), 18, New Pen(Color3))
  1232.             FillRoundedRectangle(e.Graphics, New Rectangle(Me.Width - Me.Width / 3 - 40, 0, Me.Width / 3 + 39, Me.Height), 18, New SolidBrush(Color3))
  1233.             FillRoundedRectangle(e.Graphics, New Rectangle(0, 0, Me.Width / 2, Me.Height - 1), 18, New SolidBrush(Color1))
  1234.             e.Graphics.DrawString("1", Step_Font, New SolidBrush(Color_Selected), New Rectangle(0, 0, Me.Width / 3 + 5, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1235.             e.Graphics.DrawString("3", Step_Font, New SolidBrush(Color_Selected), New Rectangle(Me.Width - Me.Width / 3, 0, Me.Width / 3, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1236.  
  1237.             e.Graphics.FillRectangle(New SolidBrush(Color2), New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), -1, Me.Width / 3, Me.Height + 1))
  1238.             e.Graphics.DrawString("2", Step_Font, New SolidBrush(Color_Selected), New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), 0, Me.Width / 3, Me.Height), New StringFormat With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
  1239.         End If
  1240.     End Sub
  1241.  
  1242.     Private Sub KIO_Step_Button_MouseClick(sender As Object, e As MouseEventArgs) Handles Me.MouseClick
  1243.         If e.Button = MouseButtons.Left Then
  1244.             If New Rectangle(0, 0, Me.Width / 3, Me.Height - 1).Contains(e.X, e.Y) Then
  1245.                 Selected = Selecte.S1
  1246.                 Me.Refresh()
  1247.             End If
  1248.             If New Rectangle(Me.Width / 2 - ((Me.Width / 3) / 2), -1, Me.Width / 3, Me.Height + 1).Contains(e.X, e.Y) Then
  1249.                 Selected = Selecte.S2
  1250.                 Me.Refresh()
  1251.             End If
  1252.             If New Rectangle(Me.Width - Me.Width / 3, 0, Me.Width / 3, Me.Height).Contains(e.X, e.Y) Then
  1253.                 Selected = Selecte.S3
  1254.                 Me.Refresh()
  1255.             End If
  1256.         End If
  1257.     End Sub
  1258.  
  1259.     Private Sub KIO_Step_Button_MouseMove(sender As Object, e As MouseEventArgs) Handles Me.MouseMove
  1260.         If New Rectangle(0, 0, Me.Width - 1, Me.Height - 1).Contains(e.X, e.Y) Then
  1261.             Cursor = Cursors.Hand
  1262.         Else
  1263.             Cursor = Cursors.Arrow
  1264.         End If
  1265.     End Sub
  1266.  
  1267.     Private Sub KIO_Step_Button_MouseLeave(sender As Object, e As EventArgs) Handles Me.MouseLeave
  1268.         Cursor = Cursors.Arrow
  1269.     End Sub
  1270. End Class
  1271. Public Class KIO_Star
  1272.     Inherits Control
  1273.     Dim WithEvents tmr As New Timer
  1274.     Property speed As Integer = 80
  1275.     Private Function RotateImage(bmp As Bitmap, angle As Single) As Bitmap
  1276.         Dim rotatedImage As New Bitmap(bmp.Width, bmp.Height)
  1277.         Using g As Graphics = Graphics.FromImage(rotatedImage)
  1278.             g.TranslateTransform(bmp.Width / 2, bmp.Height / 2)
  1279.             'set the rotation point as the center into the matrix
  1280.             g.RotateTransform(angle)
  1281.             'rotate
  1282.             g.TranslateTransform(-bmp.Width / 2, -bmp.Height / 2)
  1283.             'restore rotation point into the matrix
  1284.             'draw the image on the new bitmap
  1285.             g.DrawImage(bmp, New Point(0, 0))
  1286.         End Using
  1287.  
  1288.         Return rotatedImage
  1289.     End Function
  1290.     Sub New()
  1291.         tmr.Start()
  1292.         tmr.Interval = speed
  1293.         Me.DoubleBuffered = True
  1294.     End Sub
  1295.     Dim toggled As Boolean = False
  1296.     Dim img As String = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABV0lEQVQ4y2Nw0hJloATjk2R00hItgmJGcgwoc9IS/Q/FZaQaIOCkJfoJyYBPUDGiDcgHaazycwBjqCH5+AxQcNISzXXSEp3vpCW62UlL9BVI08GaUjCGGvAKKjcfqlYBZoCGk5bodyTngnFDkMv//0uWgDGIjS4P1aMBMkDdSUv0H0hwR1ne/2P1lf/fz5zx///06f//19T8/9/V9f//ggX/3/f1/D9WkPl/R3I0zACQHnWYF9pgJl9ub4LYnJ+PgS/HRyG7oA05DEDx3A6TvN3ZiqH5dlIcsuZ2WNpAD9XJIAXr0+MwDFgf5AnTPBlfNG4AKTqSkwrW9CYjDYxB7CORwTADNuAz4ClI0ZWc9P/ltnpwJ1fbGyB74Qk+A/6iRdUzJy3R52hif/EZcA+q6KeTlmink5Yoj5OWqCDU3z+hcvfwGaDipCUa4qQlKoYl2YpB5VSQxQG24TQwaqB2jQAAAABJRU5ErkJggg=="
  1297.     Dim angl As Integer = 100
  1298.     Private Sub Kio_Star_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown
  1299.         tmr.Interval = speed
  1300.         'If e.Button = MouseButtons.Left Then
  1301.         '    angl += 1
  1302.         '    RotateImage(img, angl)
  1303.         '    Me.Refresh()
  1304.         'End If
  1305.         'If e.Button = MouseButtons.Right Then
  1306.         '    img.RotateFlip(RotateFlipType.Rotate270FlipX)
  1307.         '    Me.Refresh()
  1308.         'End If
  1309.     End Sub
  1310.  
  1311.     Private Sub Kio_Star_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  1312.         Dim im As Bitmap
  1313.         Dim sz As SizeF = e.Graphics.MeasureString(FindForm.Text, New Font("Arial", 12, FontStyle.Regular))
  1314.  
  1315.         Dim byts As Byte() = Convert.FromBase64String(img)
  1316.  
  1317.         Using ms As New MemoryStream(byts)
  1318.             im = Image.FromStream(ms)
  1319.         End Using
  1320.         e.Graphics.DrawImage(RotateImage(im, angl), New Rectangle(0, 0, 16, 16))
  1321.     End Sub
  1322.  
  1323.     Private Sub tmr_Tick(sender As Object, e As EventArgs) Handles tmr.Tick
  1324.         If angl < 355 Then
  1325.             angl += 2
  1326.             Me.Refresh()
  1327.         Else
  1328.             angl = 1
  1329.             Me.Refresh()
  1330.         End If
  1331.     End Sub
  1332. End Class
  1333. Public Class KIO_Textbox
  1334.     Inherits Control
  1335.     Protected Overrides Sub OnCreateControl()
  1336.         MyBase.OnCreateControl()
  1337.         If Not Controls.Contains(TB) Then
  1338.             Controls.Add(TB)
  1339.         End If
  1340.     End Sub
  1341.     Sub New()
  1342.         Me.DoubleBuffered = True
  1343.         Me.Width = 150
  1344.         Me.Height = 40
  1345.         'TB
  1346.         MyBase.Font = Text_Font
  1347.         TB = New System.Windows.Forms.TextBox
  1348.         TB.BackColor = Text_Back_Color
  1349.         TB.Font = New Font("Segoe UI", 9)
  1350.         TB.Text = Text
  1351.         TB.BackColor = Textbox_Back_Color
  1352.         TB.ForeColor = Text_Color
  1353.         TB.MaxLength = MaxLeng
  1354.         TB.Multiline = False
  1355.         TB.ReadOnly = ReadOnlyy
  1356.         TB.UseSystemPasswordChar = UseChar
  1357.         TB.BorderStyle = BorderStyle.None
  1358.         If Icon = True Then
  1359.             TB.Location = New Point(40, Me.Height / 2 - TB.Height / 2)
  1360.             TB.Size = New Size(Me.Width - 44, TB.Height)
  1361.         Else
  1362.             TB.Location = New Point(10, Me.Height / 2 - TB.Height / 2)
  1363.             TB.Size = New Size(Me.Width - 14, TB.Height)
  1364.         End If
  1365.         TB.Font = MyBase.Font
  1366.     End Sub
  1367. #Region "Properties"
  1368.     Public WithEvents TB As New TextBox
  1369.     Property Icon As Boolean = False
  1370.     Property Image As Image
  1371.     Private Text_Color As Color = Color.FromArgb(28, 28, 28)
  1372.     Private Text_Font As Font = New Font("Arial", 11, FontStyle.Regular)
  1373.     Private back_Color As Color = Color.White
  1374.     Private Text_Back_Color As Color = Color.White
  1375.     Private UseChar As Boolean = False
  1376.     Property Border_Color As Color = Color.Gray
  1377.     Property Selected_Border_Color As Color = Color.FromArgb(61, 123, 201)
  1378.     Property Lock As Boolean = False
  1379.     Private Textbox_Back_Color As Color = Color.White
  1380.     Private MaxLeng As Integer = 255
  1381.     Private ReadOnlyy As Boolean = False
  1382.     Private TextAlignn As HorizontalAlignment = HorizontalAlignment.Left
  1383.     Private Multilinee As Boolean
  1384.     Public Sub SelectAll()
  1385.         TB.Focus()
  1386.         TB.SelectAll()
  1387.         Invalidate()
  1388.     End Sub
  1389.  
  1390.     <Category("Textbox")>
  1391.     Public Property BaseColour As Color
  1392.         Get
  1393.             Return Textbox_Back_Color
  1394.         End Get
  1395.         Set(value As Color)
  1396.             Textbox_Back_Color = value
  1397.         End Set
  1398.     End Property
  1399.  
  1400.     <Category("Textbox")>
  1401.     Public Property TextColour As Color
  1402.         Get
  1403.             Return Text_Color
  1404.         End Get
  1405.         Set(value As Color)
  1406.             Text_Color = value
  1407.         End Set
  1408.     End Property
  1409.  
  1410.  
  1411.  
  1412.     <Category("Textbox")>
  1413.     Property TextAlign() As HorizontalAlignment
  1414.         Get
  1415.             Return TextAlignn
  1416.         End Get
  1417.         Set(ByVal value As HorizontalAlignment)
  1418.             TextAlignn = value
  1419.             If TB IsNot Nothing Then
  1420.                 TB.TextAlign = value
  1421.             End If
  1422.         End Set
  1423.     End Property
  1424.  
  1425.     <Category("Textbox")>
  1426.     Property MaxLength() As Integer
  1427.         Get
  1428.             Return MaxLeng
  1429.         End Get
  1430.         Set(ByVal value As Integer)
  1431.             MaxLeng = value
  1432.             If TB IsNot Nothing Then
  1433.                 TB.MaxLength = value
  1434.             End If
  1435.         End Set
  1436.     End Property
  1437.  
  1438.     <Category("Textbox")>
  1439.     Property [ReadOnly]() As Boolean
  1440.         Get
  1441.             Return ReadOnlyy
  1442.         End Get
  1443.         Set(ByVal value As Boolean)
  1444.             ReadOnlyy = value
  1445.             If TB IsNot Nothing Then
  1446.                 TB.ReadOnly = value
  1447.             End If
  1448.         End Set
  1449.     End Property
  1450.  
  1451.     <Category("Textbox")>
  1452.     Property UseSystemPasswordChar() As Boolean
  1453.         Get
  1454.             Return UseChar
  1455.         End Get
  1456.         Set(ByVal value As Boolean)
  1457.             UseChar = value
  1458.             If TB IsNot Nothing Then
  1459.                 TB.UseSystemPasswordChar = value
  1460.             End If
  1461.         End Set
  1462.     End Property
  1463.     <Category("Textbox")>
  1464.     Property Textt As String
  1465.         Get
  1466.             Return Text
  1467.         End Get
  1468.         Set(ByVal value As String)
  1469.             Text = value
  1470.             If TB IsNot Nothing Then
  1471.                 TB.Text = value
  1472.             End If
  1473.         End Set
  1474.     End Property
  1475.  
  1476. #End Region
  1477. #Region "Functions"
  1478.     Public Sub FixRoundRectClicked(g As Graphics)
  1479.         'Fix Top
  1480.         'Line right
  1481.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(Me.Width - 7, 2), New Point(Me.Width - 7, 7))
  1482.         'Line left
  1483.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(7, 2), New Point(7, 7))
  1484.         'Long Line
  1485.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(2, 7), New Point(Me.Width - 2, 7))
  1486.         'Fix Bottom
  1487.         'Line Bottom Right
  1488.         ' g.DrawLine(New Pen(Under_Color), New Point(7, Me.Height - 2), New Point(7, Me.Height - 4))
  1489.         'Line Bottom Left
  1490.         ' g.DrawLine(New Pen(Under_Color), New Point(Me.Width - 7, Me.Height - 2), New Point(Me.Width - 7, Me.Height - 4))
  1491.         'Line right
  1492.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(Me.Width - 7, Me.Height - 2), New Point(Me.Width - 7, Me.Height - 6))
  1493.         'Line left
  1494.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(7, Me.Height - 2), New Point(7, Me.Height - 6))
  1495.         'Long Line
  1496.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(2, Me.Height - 7), New Point(Me.Width - 2, Me.Height - 7))
  1497.     End Sub
  1498.     Public Sub FixRoundRect(g As Graphics)
  1499.         'Fix Top
  1500.         'Line right
  1501.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(Me.Width - 7, 2), New Point(Me.Width - 7, 7))
  1502.         'Line left
  1503.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(7, 2), New Point(7, 7))
  1504.         'Long Line
  1505.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(2, 7), New Point(Me.Width - 2, 7))
  1506.         'Fix Bottom
  1507.         'Line Bottom Right
  1508.         ' g.DrawLine(New Pen(Under_Color), New Point(7, Me.Height - 2), New Point(7, Me.Height - 4))
  1509.         'Line Bottom Left
  1510.         'g.DrawLine(New Pen(Under_Color), New Point(Me.Width - 7, Me.Height - 2), New Point(Me.Width - 7, Me.Height - 4))
  1511.         'Line right
  1512.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(Me.Width - 7, Me.Height - 6), New Point(Me.Width - 7, Me.Height - 11))
  1513.         'Line left
  1514.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(7, Me.Height - 6), New Point(7, Me.Height - 11))
  1515.         'Long Line
  1516.         g.DrawLine(New Pen(Textbox_Back_Color), New Point(2, Me.Height - 11), New Point(Me.Width - 2, Me.Height - 11))
  1517.     End Sub
  1518.     Public Sub DrawRoundRect(g As Graphics, p As Pen, x As Single, y As Single, width As Single, height As Single,
  1519.       radius As Single)
  1520.         Dim gp As New GraphicsPath()
  1521.  
  1522.         gp.AddLine(x + radius, y, x + width - (radius * 2), y)
  1523.         ' Line
  1524.         gp.AddArc(x + width - (radius * 2), y, radius * 2, radius * 2, 270, 90)
  1525.         ' Corner
  1526.         gp.AddLine(x + width, y + radius, x + width, y + height - (radius * 2))
  1527.         ' Line
  1528.         gp.AddArc(x + width - (radius * 2), y + height - (radius * 2), radius * 2, radius * 2, 0, 90)
  1529.         ' Corner
  1530.         gp.AddLine(x + width - (radius * 2), y + height, x + radius, y + height)
  1531.         ' Line
  1532.         gp.AddArc(x, y + height - (radius * 2), radius * 2, radius * 2, 90, 90)
  1533.         ' Corner
  1534.         gp.AddLine(x, y + height - (radius * 2), x, y + radius)
  1535.         ' Line
  1536.         gp.AddArc(x, y, radius * 2, radius * 2, 180, 90)
  1537.         ' Corner
  1538.         gp.CloseFigure()
  1539.  
  1540.         g.DrawPath(p, gp)
  1541.         gp.Dispose()
  1542.     End Sub
  1543.     Public Sub FillRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
  1544.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  1545.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
  1546.         g.FillPie(b, r.X, r.Y, d, d, 180, 90)
  1547.         g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90)
  1548.         g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  1549.         g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  1550.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  1551.         g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  1552.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  1553.         g.SmoothingMode = mode
  1554.     End Sub
  1555.     Public Sub FillNotTopRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
  1556.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  1557.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighSpeed
  1558.         g.FillPie(b, r.X, r.Y, 1, 1, 180, 90)
  1559.         g.FillPie(b, r.X + r.Width - d, r.Y, 1, 1, 270, 90)
  1560.         g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  1561.         g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  1562.         ' g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  1563.         g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  1564.         g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  1565.         g.SmoothingMode = mode
  1566.     End Sub
  1567.     Public Sub FillNotBottomRoundedRectangle(ByVal g As Drawing.Graphics, ByVal r As Rectangle, ByVal d As Integer, ByVal b As Brush)
  1568.         Dim mode As Drawing2D.SmoothingMode = g.SmoothingMode
  1569.         g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
  1570.         g.FillPie(b, r.X, r.Y, d, d, 180, 90)
  1571.         g.FillPie(b, r.X + r.Width - d, r.Y, d, d, 270, 90)
  1572.         'g.FillPie(b, r.X, r.Y + r.Height - d, d, d, 90, 90)
  1573.         '  g.FillPie(b, r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
  1574.         g.FillRectangle(b, CInt(r.X + d / 2), r.Y, r.Width - d, CInt(d / 2))
  1575.         ' g.FillRectangle(b, r.X, CInt(r.Y + d / 2), r.Width, CInt(r.Height - d))
  1576.         '   g.FillRectangle(b, CInt(r.X + d / 2), CInt(r.Y + r.Height - d / 2), CInt(r.Width - d), CInt(d / 2))
  1577.         g.SmoothingMode = mode
  1578.     End Sub
  1579. #End Region
  1580.  
  1581.     Private Sub PlisticBlue_Textbox_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
  1582.         e.Graphics.SmoothingMode = SmoothingMode.HighQuality
  1583.         e.Graphics.Clear(back_Color)
  1584.         FillRoundedRectangle(e.Graphics, New Rectangle(1, 1, Me.Width - 2, Me.Height - 2), 8, New SolidBrush(Textbox_Back_Color))
  1585.         If TB.Focused = True Then
  1586.             DrawRoundRect(e.Graphics, New Pen(Selected_Border_Color), 1, 1, Me.Width - 2, Me.Height - 2, 8)
  1587.         Else
  1588.             DrawRoundRect(e.Graphics, New Pen(Border_Color), 1, 1, Me.Width - 2, Me.Height - 2, 8)
  1589.         End If
  1590.         FixRoundRectClicked(e.Graphics)
  1591.         TB.BackColor = Textbox_Back_Color
  1592.         TB.ForeColor = Text_Color
  1593.         If Icon = True Then
  1594.             e.Graphics.DrawImage(Image, New Rectangle(6, 6, 32, 32))
  1595.         End If
  1596.         If Lock = True Then
  1597.             TB.ReadOnly = True
  1598.             ReadOnlyy = True
  1599.             TB.Refresh()
  1600.             '  FixRoundRectClicked(e.Graphics)
  1601.         Else
  1602.             TB.ReadOnly = False
  1603.             ReadOnlyy = False
  1604.             TB.Refresh()
  1605.         End If
  1606.     End Sub
  1607.  
  1608.     Private Sub PlisticBlue_Textbox_Resize(sender As Object, e As EventArgs) Handles Me.Resize
  1609.         If Icon = True Then
  1610.             TB.Location = New Point(40, Me.Height / 2 - TB.Height / 2)
  1611.             TB.Size = New Size(Me.Width - 44, TB.Height)
  1612.         Else
  1613.             TB.Location = New Point(10, Me.Height / 2 - TB.Height / 2)
  1614.             TB.Size = New Size(Me.Width - 14, TB.Height)
  1615.         End If
  1616.     End Sub
  1617.     Event TextChangedd(text As String)
  1618.     Private Sub TB_TextChanged(sender As Object, e As EventArgs) Handles TB.TextChanged
  1619.         Text = TB.Text
  1620.         Textt = TB.Text
  1621.         RaiseEvent TextChangedd(Text)
  1622.     End Sub
  1623.  
  1624.     Private Sub TB_LostFocus(sender As Object, e As EventArgs) Handles TB.LostFocus
  1625.         Me.Refresh()
  1626.     End Sub
  1627.  
  1628.     Private Sub TB_GotFocus(sender As Object, e As EventArgs) Handles TB.GotFocus
  1629.         Me.Refresh()
  1630.     End Sub
  1631. End Class
Advertisement
Add Comment
Please, Sign In to add comment