_
Private Sub frmConfig_Basic_Shown(sender As Object, e As EventArgs) Handles Me.Shown
+ Load_Basics()
+ formloaded = True
+
+ End Sub
+ Sub Load_Basics()
If Not MyConnectionString = String.Empty Then
Dim csb As New SqlClient.SqlConnectionStringBuilder
csb.ConnectionString = MyConnectionString
@@ -253,16 +338,14 @@ Public Class frmConfig_Basic
constr = constr.Replace(csb.Password, "XXXXX")
Me.txtActualConnection.Text = constr
End If
- Me.txtuniversalViewer.Text = UniversalViewer
+ Me.txtuniversalViewer.Text = UniversalViewer_Path
chkLogErrorsOnly.Checked = LogErrorsOnly
- If ERROR_STATE = "FAILED CONNECTION" Then
+ If ERROR_STATE = "FAILED DBCONNECTION" Then
Me.TabControl1.SelectedIndex = 0
ElseIf ERROR_STATE = "NO UV" Then
Me.TabControl1.SelectedIndex = 1
End If
- formloaded = True
-
End Sub
Private Sub btnopenlog_Click(sender As Object, e As EventArgs) Handles btnopenlog.Click
Process.Start(ClassLogger.DateiSpeicherort)
@@ -305,6 +388,56 @@ Public Class frmConfig_Basic
Private Sub btnSaveExclusionFiles_Click(sender As Object, e As EventArgs) Handles btnSaveExclusionFiles.Click
DTEXCLUDE_FILES.AcceptChanges()
DTEXCLUDE_FILES.WriteXml(PATH_FileExclusions)
- MsgBox("Änderungen gespeichert!", MsgBoxStyle.Information)
+ MsgBox("Changes saved.", MsgBoxStyle.Information)
+ End Sub
+
+ Private Sub btnLogMail_Click(sender As Object, e As EventArgs) Handles btnLogMail.Click
+ ClassEmail.Send_Log_Mail(" Log-/SupportMail von DD GLOBIX. ", _
+ "Support-Mail GLOBIX", "support@didalog.de", "mail.triplew.de", "support@didalog.de", "ddemail40", "support@didalog.de", False, True)
+ End Sub
+
+ Private Sub cmbLanguage_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cmbLanguage.SelectedIndexChanged
+
+ End Sub
+
+ Private Sub Button3_Click_1(sender As Object, e As EventArgs) Handles Button3.Click
+ Dim result As MsgBoxResult
+ If USER_LANGUAGE = "de-DE" Then
+ result = MessageBox.Show("Wollen Sie die Applikationssprache nun auf '" & cmbLanguage.Text & "' ändern?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
+ Else
+ result = MessageBox.Show("Would You like to change Your application language to '" & cmbLanguage.Text & "' ?", "Confirmation required:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
+ End If
+
+ If result = MsgBoxResult.Yes Then
+ formloaded = False
+ Try
+ Dim lang As String
+ Select Case cmbLanguage.SelectedIndex
+ Case 0
+ lang = "de-DE"
+ Case 1
+ lang = "en-GB"
+ End Select
+
+ Dim update As String = "UPDATE TBDD_USER SET [LANGUAGE] = '" & lang & "' WHERE GUID = " & CURRENT_USERID
+ USER_LANGUAGE = lang
+
+ If ClassDatabase.Execute_non_Query(update, True) = True Then
+ SetLanguage()
+ If USER_LANGUAGE = "de-DE" Then
+ MsgBox("Die Sprache wurde erfolgreich geändert!", MsgBoxStyle.Information)
+ Else
+ MsgBox("The language was changed successfully!", MsgBoxStyle.Information)
+
+ End If
+ LANGUAGE_CHANGED = True
+ End If
+ Catch ex As Exception
+
+ End Try
+ formloaded = True
+ Load_Basics()
+
+ End If
End Sub
End Class
\ No newline at end of file
diff --git a/Global_Indexer/frmHotKey_Add.Designer.vb b/Global_Indexer/frmHotKey_Add.Designer.vb
index bdc5b2b..2de2ebc 100644
--- a/Global_Indexer/frmHotKey_Add.Designer.vb
+++ b/Global_Indexer/frmHotKey_Add.Designer.vb
@@ -102,12 +102,12 @@ Partial Class frmHotKey_Add
Me.TBHOTKEY_PATTERNSTableAdapter = New Global_Indexer.MyDatasetTableAdapters.TBHOTKEY_PATTERNSTableAdapter()
Me.TBHOTKEY_PATTERNSBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.OFDWindreamsuche = New System.Windows.Forms.OpenFileDialog()
- Me.TabControl1 = New System.Windows.Forms.TabControl()
+ Me.TabControlMain = New System.Windows.Forms.TabControl()
Me.TabPageUebersicht = New System.Windows.Forms.TabPage()
Me.GroupBoxPatterns = New System.Windows.Forms.GroupBox()
Me.ListBox1 = New System.Windows.Forms.ListBox()
Me.TBHOTKEY_WINDOW_HOOKBindingSource = New System.Windows.Forms.BindingSource(Me.components)
- Me.TabControl3 = New System.Windows.Forms.TabControl()
+ Me.TabControlDetails = New System.Windows.Forms.TabControl()
Me.TabPage6 = New System.Windows.Forms.TabPage()
Me.lblSavePAttern = New System.Windows.Forms.Label()
Me.ADDED_WHOTextBox1 = New System.Windows.Forms.TextBox()
@@ -182,7 +182,7 @@ Partial Class frmHotKey_Add
Me.ToolStripButton6 = New System.Windows.Forms.ToolStripButton()
Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator()
Me.ListBoxPatterns = New System.Windows.Forms.ListBox()
- Me.TabControl2 = New System.Windows.Forms.TabControl()
+ Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.TabPage3 = New System.Windows.Forms.TabPage()
Me.WINDOW_NAMETextBox = New System.Windows.Forms.TextBox()
Me.Button2 = New System.Windows.Forms.Button()
@@ -260,11 +260,11 @@ Partial Class frmHotKey_Add
CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBHOTKEY_PROFILEBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBHOTKEY_PATTERNSBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
- Me.TabControl1.SuspendLayout()
+ Me.TabControlMain.SuspendLayout()
Me.TabPageUebersicht.SuspendLayout()
Me.GroupBoxPatterns.SuspendLayout()
CType(Me.TBHOTKEY_WINDOW_HOOKBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
- Me.TabControl3.SuspendLayout()
+ Me.TabControlDetails.SuspendLayout()
Me.TabPage6.SuspendLayout()
CType(Me.BindingNavigator2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.BindingNavigator2.SuspendLayout()
@@ -275,7 +275,7 @@ Partial Class frmHotKey_Add
Me.TabPage5.SuspendLayout()
CType(Me.BindingNavigator3, System.ComponentModel.ISupportInitialize).BeginInit()
Me.BindingNavigator3.SuspendLayout()
- Me.TabControl2.SuspendLayout()
+ Me.TabControl1.SuspendLayout()
Me.TabPage3.SuspendLayout()
Me.TabPage1.SuspendLayout()
Me.ContextMenuStrip1.SuspendLayout()
@@ -1077,23 +1077,23 @@ Partial Class frmHotKey_Add
Me.OFDWindreamsuche.RestoreDirectory = True
Me.OFDWindreamsuche.Title = "windream-Suche wählen"
'
- 'TabControl1
+ 'TabControlMain
'
- Me.TabControl1.Controls.Add(Me.TabPageUebersicht)
- Me.TabControl1.Controls.Add(Me.TabPage_Designer)
- Me.TabControl1.Controls.Add(Me.TabPageTest)
- Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Fill
- Me.TabControl1.Location = New System.Drawing.Point(0, 0)
- Me.TabControl1.Name = "TabControl1"
- Me.TabControl1.SelectedIndex = 0
- Me.TabControl1.Size = New System.Drawing.Size(972, 613)
- Me.TabControl1.TabIndex = 17
+ Me.TabControlMain.Controls.Add(Me.TabPageUebersicht)
+ Me.TabControlMain.Controls.Add(Me.TabPage_Designer)
+ Me.TabControlMain.Controls.Add(Me.TabPageTest)
+ Me.TabControlMain.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.TabControlMain.Location = New System.Drawing.Point(0, 0)
+ Me.TabControlMain.Name = "TabControlMain"
+ Me.TabControlMain.SelectedIndex = 0
+ Me.TabControlMain.Size = New System.Drawing.Size(972, 613)
+ Me.TabControlMain.TabIndex = 17
'
'TabPageUebersicht
'
Me.TabPageUebersicht.AutoScroll = True
Me.TabPageUebersicht.Controls.Add(Me.GroupBoxPatterns)
- Me.TabPageUebersicht.Controls.Add(Me.TabControl2)
+ Me.TabPageUebersicht.Controls.Add(Me.TabControl1)
Me.TabPageUebersicht.Controls.Add(Me.btndelete)
Me.TabPageUebersicht.Controls.Add(Me.ListBox_Profiles)
Me.TabPageUebersicht.Controls.Add(Me.Label9)
@@ -1110,7 +1110,7 @@ Partial Class frmHotKey_Add
Me.GroupBoxPatterns.Controls.Add(Label17)
Me.GroupBoxPatterns.Controls.Add(Me.ListBox1)
Me.GroupBoxPatterns.Controls.Add(Label15)
- Me.GroupBoxPatterns.Controls.Add(Me.TabControl3)
+ Me.GroupBoxPatterns.Controls.Add(Me.TabControlDetails)
Me.GroupBoxPatterns.Controls.Add(Me.ListBoxPatterns)
Me.GroupBoxPatterns.Location = New System.Drawing.Point(8, 283)
Me.GroupBoxPatterns.Name = "GroupBoxPatterns"
@@ -1135,18 +1135,18 @@ Partial Class frmHotKey_Add
Me.TBHOTKEY_WINDOW_HOOKBindingSource.DataMember = "TBHOTKEY_WINDOW_HOOK"
Me.TBHOTKEY_WINDOW_HOOKBindingSource.DataSource = Me.MyDataset
'
- 'TabControl3
+ 'TabControlDetails
'
- Me.TabControl3.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
+ Me.TabControlDetails.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
- Me.TabControl3.Controls.Add(Me.TabPage6)
- Me.TabControl3.Controls.Add(Me.TabPage4)
- Me.TabControl3.Controls.Add(Me.TabPage5)
- Me.TabControl3.Location = New System.Drawing.Point(261, 21)
- Me.TabControl3.Name = "TabControl3"
- Me.TabControl3.SelectedIndex = 0
- Me.TabControl3.Size = New System.Drawing.Size(639, 271)
- Me.TabControl3.TabIndex = 1
+ Me.TabControlDetails.Controls.Add(Me.TabPage6)
+ Me.TabControlDetails.Controls.Add(Me.TabPage4)
+ Me.TabControlDetails.Controls.Add(Me.TabPage5)
+ Me.TabControlDetails.Location = New System.Drawing.Point(261, 21)
+ Me.TabControlDetails.Name = "TabControlDetails"
+ Me.TabControlDetails.SelectedIndex = 0
+ Me.TabControlDetails.Size = New System.Drawing.Size(639, 271)
+ Me.TabControlDetails.TabIndex = 1
'
'TabPage6
'
@@ -1889,16 +1889,16 @@ Partial Class frmHotKey_Add
Me.ListBoxPatterns.TabIndex = 0
Me.ListBoxPatterns.ValueMember = "GUID"
'
- 'TabControl2
+ 'TabControl1
'
- Me.TabControl2.Controls.Add(Me.TabPage3)
- Me.TabControl2.Controls.Add(Me.TabPage1)
- Me.TabControl2.Controls.Add(Me.TabPage2)
- Me.TabControl2.Location = New System.Drawing.Point(269, 62)
- Me.TabControl2.Name = "TabControl2"
- Me.TabControl2.SelectedIndex = 0
- Me.TabControl2.Size = New System.Drawing.Size(639, 215)
- Me.TabControl2.TabIndex = 36
+ Me.TabControl1.Controls.Add(Me.TabPage3)
+ Me.TabControl1.Controls.Add(Me.TabPage1)
+ Me.TabControl1.Controls.Add(Me.TabPage2)
+ Me.TabControl1.Location = New System.Drawing.Point(269, 62)
+ Me.TabControl1.Name = "TabControl1"
+ Me.TabControl1.SelectedIndex = 0
+ Me.TabControl1.Size = New System.Drawing.Size(639, 215)
+ Me.TabControl1.TabIndex = 36
'
'TabPage3
'
@@ -2316,7 +2316,7 @@ Partial Class frmHotKey_Add
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(972, 635)
- Me.Controls.Add(Me.TabControl1)
+ Me.Controls.Add(Me.TabControlMain)
Me.Controls.Add(Me.StatusStrip1)
Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
@@ -2333,13 +2333,13 @@ Partial Class frmHotKey_Add
CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBHOTKEY_PROFILEBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TBHOTKEY_PATTERNSBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
- Me.TabControl1.ResumeLayout(False)
+ Me.TabControlMain.ResumeLayout(False)
Me.TabPageUebersicht.ResumeLayout(False)
Me.TabPageUebersicht.PerformLayout()
Me.GroupBoxPatterns.ResumeLayout(False)
Me.GroupBoxPatterns.PerformLayout()
CType(Me.TBHOTKEY_WINDOW_HOOKBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
- Me.TabControl3.ResumeLayout(False)
+ Me.TabControlDetails.ResumeLayout(False)
Me.TabPage6.ResumeLayout(False)
Me.TabPage6.PerformLayout()
CType(Me.BindingNavigator2, System.ComponentModel.ISupportInitialize).EndInit()
@@ -2356,7 +2356,7 @@ Partial Class frmHotKey_Add
CType(Me.BindingNavigator3, System.ComponentModel.ISupportInitialize).EndInit()
Me.BindingNavigator3.ResumeLayout(False)
Me.BindingNavigator3.PerformLayout()
- Me.TabControl2.ResumeLayout(False)
+ Me.TabControl1.ResumeLayout(False)
Me.TabPage3.ResumeLayout(False)
Me.TabPage3.PerformLayout()
Me.TabPage1.ResumeLayout(False)
@@ -2406,7 +2406,7 @@ Partial Class frmHotKey_Add
Friend WithEvents lblLinkadd As System.Windows.Forms.Label
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents OFDWindreamsuche As System.Windows.Forms.OpenFileDialog
- Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
+ Friend WithEvents TabControlMain As System.Windows.Forms.TabControl
Friend WithEvents TabPage_Designer As System.Windows.Forms.TabPage
Friend WithEvents TabPageTest As System.Windows.Forms.TabPage
Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
@@ -2426,7 +2426,7 @@ Partial Class frmHotKey_Add
Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip
Friend WithEvents AlleAuswählenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents KeineAuswählenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
- Friend WithEvents TabControl2 As System.Windows.Forms.TabControl
+ Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
Friend WithEvents chklbUserProfile As System.Windows.Forms.CheckedListBox
@@ -2444,7 +2444,7 @@ Partial Class frmHotKey_Add
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents GroupBoxPatterns As System.Windows.Forms.GroupBox
Friend WithEvents ListBoxPatterns As System.Windows.Forms.ListBox
- Friend WithEvents TabControl3 As System.Windows.Forms.TabControl
+ Friend WithEvents TabControlDetails As System.Windows.Forms.TabControl
Friend WithEvents TabPage4 As System.Windows.Forms.TabPage
Friend WithEvents TabPage5 As System.Windows.Forms.TabPage
Friend WithEvents TBHOTKEY_PATTERNS_REWORKBindingSource As System.Windows.Forms.BindingSource
diff --git a/Global_Indexer/frmHotKey_Add.resx b/Global_Indexer/frmHotKey_Add.resx
index 2c39b7d..9606319 100644
--- a/Global_Indexer/frmHotKey_Add.resx
+++ b/Global_Indexer/frmHotKey_Add.resx
@@ -234,19 +234,65 @@
1040, 95
-
- 1098, 56
-
-
- 1098, 56
-
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
+ DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
+ rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
+ i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
+ 86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
+ QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
+ bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
+ wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
+ v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
+ UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
+ Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
+ lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
+ 5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
+ Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
+ 08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
+ n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
+ N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
+ oAc0QjgAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
+ h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
+ twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
+ kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
+ WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
+ 8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
+
+
1098, 56
317, 95
-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
@@ -309,67 +355,6 @@
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
-
-
-
- 1194, 95
-
-
- 471, 95
-
-
- 1040, 95
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
- DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
- rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
- i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
- 86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
- QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
- bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
- wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
- v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
- UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
- Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
- lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
- 5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
- Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
- 08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
- n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
- N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
- oAc0QjgAAAAASUVORK5CYII=
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
- h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
- twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
- kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
- WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
- 8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
diff --git a/Global_Indexer/frmHotKey_Add.vb b/Global_Indexer/frmHotKey_Add.vb
index 424feb2..d9402c2 100644
--- a/Global_Indexer/frmHotKey_Add.vb
+++ b/Global_Indexer/frmHotKey_Add.vb
@@ -1,4 +1,5 @@
Public Class frmHotKey_Add
+ Dim Form_loaded As Boolean = False
Private Control_Sequence As Integer
Private Sub ObjektTypenEintragen()
Try
@@ -32,6 +33,8 @@
Me.TBHOTKEY_USER_PROFILETableAdapter.Connection.ConnectionString = MyConnectionString
Me.TBHOTKEY_PATTERNS_REWORKTableAdapter.Connection.ConnectionString = MyConnectionString
Me.TBHOTKEY_WINDOW_HOOKTableAdapter.Connection.ConnectionString = MyConnectionString
+ TabControlDetails.SelectedIndex = 0
+ TabControl1.SelectedIndex = 0
Load_Profiles()
load_users()
GroupBox1.Visible = True
@@ -240,12 +243,12 @@
Console.WriteLine(e.KeyCode)
End Sub
- Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged
- Select Case TabControl1.SelectedIndex
+ Private Sub TabControl1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControlMain.SelectedIndexChanged
+ Select Case TabControlMain.SelectedIndex
Case 0
- TabControl2.SelectedIndex = 0
- TabControl3.SelectedIndex = 0
+ TabControl1.SelectedIndex = 0
+ TabControlDetails.SelectedIndex = 0
Load_Profiles()
Case 1
If NAMETextBox.Text <> "" And CheckFormTitle_isOpen(WINDOW_NAMETextBox.Text) = True Then
@@ -335,17 +338,7 @@
TBHOTKEY_USER_PROFILETableAdapter.cmdInsert(userid, ListBox_Profiles.SelectedValue)
added += 1
End If
- 'If Not UserExists(USERNAME) Then
- ' SQL = "INSERT INTO TBDD_USER(PRENAME, NAME, USERNAME, EMAIL, MODULE_GI,ADDED_WHO) VALUES('" & PRENAME & "', '" & Name & "', '" & USERNAME & "','" & email & "'," & 1 & ",'" & Environment.UserName & "')"
- ' If ClassDatabase.Execute_non_Query(SQL) = True Then
- ' usersAdded = usersAdded + 1
- ' End If
- 'Else
- ' SQL = "UPDATE TBDD_USER SET MODULE_GI = 1 WHERE UPPER(USERNAME) = UPPER('" & USERNAME & "')"
- ' If ClassDatabase.Execute_non_Query(SQL) = True Then
- ' usersAdded = usersAdded + 1
- ' End If
- 'End If
+
Next
Else
@@ -377,9 +370,9 @@
Next
End Sub
- Private Sub TabControl2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl2.SelectedIndexChanged
+ Private Sub TabControl2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles TabControl1.SelectedIndexChanged
GroupBoxPatterns.Visible = False
- Select Case TabControl2.SelectedIndex
+ Select Case TabControl1.SelectedIndex
Case 0
GroupBoxPatterns.Visible = True
Case 2
@@ -406,7 +399,7 @@
Private Sub ListBox_Profiles_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox_Profiles.SelectedIndexChanged
If ListBox_Profiles.SelectedIndex <> -1 Then
- Select Case TabControl2.SelectedIndex
+ Select Case TabControl1.SelectedIndex
Case 1
'Try
' TBHOTKEY_PROFILETableAdapter.FillByID(MyDataset.TBHOTKEY_PROFILE, ListBox_Profiles.SelectedValue)
@@ -458,17 +451,6 @@
TBHOTKEY_USER_PROFILETableAdapter.Delete(ID)
deleted += 1
End If
- 'If Not UserExists(USERNAME) Then
- ' SQL = "INSERT INTO TBDD_USER(PRENAME, NAME, USERNAME, EMAIL, MODULE_GI,ADDED_WHO) VALUES('" & PRENAME & "', '" & Name & "', '" & USERNAME & "','" & email & "'," & 1 & ",'" & Environment.UserName & "')"
- ' If ClassDatabase.Execute_non_Query(SQL) = True Then
- ' usersAdded = usersAdded + 1
- ' End If
- 'Else
- ' SQL = "UPDATE TBDD_USER SET MODULE_GI = 1 WHERE UPPER(USERNAME) = UPPER('" & USERNAME & "')"
- ' If ClassDatabase.Execute_non_Query(SQL) = True Then
- ' usersAdded = usersAdded + 1
- ' End If
- 'End If
Next
Else
@@ -493,6 +475,26 @@
TBHOTKEY_PROFILEBindingSource.EndEdit()
TBHOTKEY_PROFILETableAdapter.Update(MyDataset.TBHOTKEY_PROFILE)
Me.lblSave.Visible = True
+ Dim result As MsgBoxResult
+ If USER_LANGUAGE = "de-DE" Then
+ result = MessageBox.Show("Wollen Sie die Änderungen im Hotkey-Profil auch in den Userprofilen vornehmen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
+ Else
+ result = MessageBox.Show("Dow You want to update the userprofiles also with the changes in the profile?", "Confirmation required:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
+ End If
+ If result = MsgBoxResult.Yes Then
+ Try
+ Dim update = "UPDATE TBHOTKEY_USER_PROFILE SET WD_SEARCH = '" & WD_SEARCHTextBox.Text & "', HOTKEY1 = '" & HOTKEY1ComboBox.Text & "', HOTKEY2 = '" & HOTKEY2TextBox.Text & "' WHERE HKPROFILE_ID = " & GUIDTextBox.Text
+ If ClassDatabase.Execute_non_Query(update, True) Then
+ If USER_LANGUAGE = "de-DE" Then
+ MsgBox("User-Profile erfolgreich aktualisiert!", MsgBoxStyle.Information)
+ Else
+ MsgBox("Userprofiles successfull updated!", MsgBoxStyle.Information)
+ End If
+ End If
+ Catch ex As Exception
+ MsgBox("Error in Refresh Userprofiles: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ End Try
+ End If
Else
Me.lblSave.Visible = False
End If
@@ -729,4 +731,12 @@
TEXT1TextBox.ForeColor = Color.Black
End If
End Sub
+
+ Private Sub frmHotKey_Add_Shown(sender As Object, e As EventArgs) Handles Me.Shown
+ Form_loaded = True
+ If GUIDTextBox.Text <> String.Empty Then
+ GroupBoxPatterns.Visible = True
+ End If
+
+ End Sub
End Class
\ No newline at end of file
diff --git a/Global_Indexer/frmIndex.designer.vb b/Global_Indexer/frmIndex.designer.vb
index 4415c54..a489e7a 100644
--- a/Global_Indexer/frmIndex.designer.vb
+++ b/Global_Indexer/frmIndex.designer.vb
@@ -438,9 +438,9 @@ Partial Class frmIndex
'PdfViewer1
'
Me.PdfViewer1.Dock = System.Windows.Forms.DockStyle.Fill
- Me.PdfViewer1.Location = New System.Drawing.Point(0, 142)
+ Me.PdfViewer1.Location = New System.Drawing.Point(0, 141)
Me.PdfViewer1.Name = "PdfViewer1"
- Me.PdfViewer1.Size = New System.Drawing.Size(200, 144)
+ Me.PdfViewer1.Size = New System.Drawing.Size(200, 145)
Me.PdfViewer1.TabIndex = 4
'
'StatusStrip2
@@ -476,7 +476,7 @@ Partial Class frmIndex
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.PdfRibbonPage1})
Me.RibbonControl1.RibbonStyle = DevExpress.XtraBars.Ribbon.RibbonControlStyle.Office2010
- Me.RibbonControl1.Size = New System.Drawing.Size(200, 142)
+ Me.RibbonControl1.Size = New System.Drawing.Size(200, 141)
Me.RibbonControl1.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Above
'
'PdfFileOpenBarItem1
diff --git a/Global_Indexer/frmIndex.resx b/Global_Indexer/frmIndex.resx
index 5f2afa0..e9170d3 100644
--- a/Global_Indexer/frmIndex.resx
+++ b/Global_Indexer/frmIndex.resx
@@ -120,9 +120,6 @@
17, 212
-
- 17, 212
-
17, 17
@@ -150,12 +147,6 @@
1212, 173
-
- 1477, 173
-
-
- 1212, 173
-
244, 56
diff --git a/Global_Indexer/frmIndex.vb b/Global_Indexer/frmIndex.vb
index a843836..6fb2fe8 100644
--- a/Global_Indexer/frmIndex.vb
+++ b/Global_Indexer/frmIndex.vb
@@ -58,7 +58,7 @@ Public Class frmIndex
pnlIndex.Controls.Add(lbl)
lbl.Location = New Point(11, ylbl)
End Sub
- Sub AddTextBox(indexname As String, y As Integer, text As String)
+ Function AddTextBox(indexname As String, y As Integer, text As String)
Dim txt As New TextBox
txt.Name = "txt" & indexname
@@ -77,7 +77,8 @@ Public Class frmIndex
AddHandler txt.LostFocus, AddressOf OnTextBoxLostFocus
AddHandler txt.KeyUp, AddressOf OnTextBoxKeyUp
AddHandler txt.TextChanged, AddressOf OnTextBoxTextChanged
- End Sub
+ Return txt
+ End Function
Public Sub OnTextBoxFocus(sender As System.Object, e As System.EventArgs)
Dim box As TextBox = sender
box.BackColor = Color.Lime
@@ -564,6 +565,102 @@ Public Class frmIndex
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unvorhergesehener Fehler bei AddVorschlag_ComboBox:")
End Try
End Sub
+ Private Sub AddAutoSuggest_Textbox(indexname As String, y As Integer, conid As Integer, sql_Vorschlag As String, Optional Vorgabe As String = "")
+ Try
+ Dim connectionString As String
+ Dim sqlCnn As SqlConnection
+ Dim sqlCmd As SqlCommand
+ Dim adapter As New SqlDataAdapter
+
+ Dim oracleConn As OracleConnection
+ Dim oracleCmd As OracleCommand
+ Dim oracleadapter As New OracleDataAdapter
+
+ Dim NewDataset As New DataSet
+ Dim i As Integer
+ Dim sql As String
+ Dim runinLZ As Boolean = False
+
+ connectionString = ClassFormFunctions.GetConnectionString(conid)
+ If connectionString Is Nothing = False Then
+ 'SQL Befehl füllt die Auswahlliste
+ sql = sql_Vorschlag
+ If Not sql.Contains("@") Then
+ If connectionString.Contains("Initial Catalog=") Then
+ sqlCnn = New SqlConnection(connectionString)
+ sqlCnn.Open()
+ sqlCmd = New SqlCommand(sql, sqlCnn)
+ adapter.SelectCommand = sqlCmd
+ adapter.Fill(NewDataset)
+ ElseIf connectionString.StartsWith("Data Source=") And connectionString.Contains("SERVICE_NAME") Then
+
+ oracleConn = New OracleConnection(connectionString)
+ ' Try
+ oracleConn.Open()
+ oracleCmd = New OracleCommand(sql_Vorschlag, oracleConn)
+ oracleadapter.SelectCommand = oracleCmd
+ oracleadapter.Fill(NewDataset)
+ End If
+ Else
+ runinLZ = True
+ If LogErrorsOnly = False Then ClassLogger.Add(" >>sql enthält Platzhalter und wird erst während der Laufzeit gefüllt!", False)
+ End If
+
+
+
+ Dim newASTextbox As TextBox
+ If runinLZ = True Then
+ 'Die Standardcombobox anlegen
+ newASTextbox = AddTextBox(indexname, y, "")
+ newASTextbox.Size = New Size(300, 27)
+ Else
+ If NewDataset.Tables(0).Rows.Count > 0 Then
+ 'Die Standardcombobox anlegen
+ newASTextbox = AddTextBox(indexname, y, "")
+ 'Die Standargrösse definieren
+ Dim newWidth As Integer = 300
+ 'LOOPING THE ROW OF DATA IN THE DATATABLE
+ For Each r In NewDataset.Tables(0).Rows
+ 'ADDING THE DATA IN THE AUTO COMPLETE SOURCE OF THE TEXTBOX
+ newASTextbox.AutoCompleteCustomSource.Add(r.Item(0).ToString)
+ Next
+ With newASTextbox
+ .AutoCompleteMode = AutoCompleteMode.SuggestAppend
+ .AutoCompleteSource = AutoCompleteSource.CustomSource
+ End With
+ Else
+
+ End If
+ If connectionString.Contains("Initial Catalog=") Then
+ Try
+ adapter.Dispose()
+ sqlCmd.Dispose()
+ sqlCnn.Close()
+ Catch ex As Exception
+ MsgBox(ex.Message, MsgBoxStyle.Critical)
+ End Try
+ Else
+ Try
+ oracleadapter.Dispose()
+ oracleCmd.Dispose()
+ oracleConn.Close()
+ Catch ex As Exception
+ MsgBox(ex.Message, MsgBoxStyle.Critical)
+ End Try
+
+ End If
+ End If
+
+
+
+
+ End If
+
+ Catch ex As Exception
+ ClassLogger.Add(" - Unvorhergesehener Fehler bei AddAutoSuggest_Textbox - Indexname: " & indexname & " - Fehler: " & vbNewLine & ex.Message)
+ MsgBox(ex.Message, MsgBoxStyle.Critical, "Unvorhergesehener Fehler bei AddAutoSuggest_Textbox:")
+ End Try
+ End Sub
Private Sub Renew_ComboboxResults(INDEX_GUID As Integer, SearchString As String, Resultvalue As String)
Try
@@ -854,8 +951,7 @@ Public Class frmIndex
'####
' alle Vorkommen innerhalbd er Namenkonvention durchlaufen
For Each element As System.Text.RegularExpressions.Match In elemente
- Console.WriteLine(element.Value)
- Console.WriteLine(element.Value.Substring(2, 1).ToUpper)
+ Console.WriteLine(element.ToString)
Select Case element.Value.Substring(2, 1).ToUpper
'Manueller Indexwert
Case "M"
@@ -915,6 +1011,7 @@ Public Class frmIndex
_day = "0" & _day
End If
Dim type = element.Value '.ToUpper.Replace("[v%", "")
+ type = type.Replace("[%v_", "")
type = type.Replace("[%v", "")
type = type.Replace("]", "")
Select Case type
@@ -988,38 +1085,44 @@ Public Class frmIndex
For Each row As DataRow In DTMan.Rows
Dim idxvalue = row.Item("Indexwert")
Dim indexname = row.Item("WD_INDEX").ToString
+ Dim optional_Index = CBool(row.Item("OPTIONAL"))
If CBool(row.Item("Indexiert")) = True And idxvalue.ToString <> "" Then
- 'Den Indexwert zwischenspeichern
- Dim DTTemp As DataTable = MyDataset.TBTEMP_INDEXRESULTS
- Dim rowexists As Boolean = False
- For Each rowTemp As DataRow In DTTemp.Rows
- 'Wenn bereits ein Eintrag existiert.....
- If rowTemp.Item("Dokumentart") = row.Item("DOKUMENTART") And rowTemp.Item("Indexname") = row.Item("INDEXNAME") Then
- rowexists = True
- '......überschreiben
- rowTemp.Item("Value") = row.Item("Indexwert")
+ If indexname <> "" And optional_Index = False Then
+ 'Den Indexwert zwischenspeichern
+ Dim DTTemp As DataTable = MyDataset.TBTEMP_INDEXRESULTS
+ Dim rowexists As Boolean = False
+ For Each rowTemp As DataRow In DTTemp.Rows
+ 'Wenn bereits ein Eintrag existiert.....
+ If rowTemp.Item("Dokumentart") = row.Item("DOKUMENTART") And rowTemp.Item("Indexname") = row.Item("INDEXNAME") Then
+ rowexists = True
+ '......überschreiben
+ rowTemp.Item("Value") = row.Item("Indexwert")
+ End If
+ Next
+ '.....ansonsten neu anlegen
+ If rowexists = False Then
+ Dim newRow As DataRow = DTTemp.NewRow()
+ newRow("Dokumentart") = row.Item("DOKUMENTART").ToString
+ newRow("Indexname") = row.Item("INDEXNAME").ToString
+ newRow("Value") = row.Item("Indexwert")
+ DTTemp.Rows.Add(newRow)
+ End If
+
+ If LogErrorsOnly = False Then ClassLogger.Add(" >> Manueller Indexvalue: " & idxvalue.ToString, False)
+ Count += 1
+ indexierung_erfolgreich = ClassWindream.DateiIndexieren(CURRENT_NEWFILENAME, indexname, idxvalue)
+ If indexierung_erfolgreich = False Then
+ MsgBox("Error in Indexing file - See log", MsgBoxStyle.Critical)
+ Return False
+ Exit For
+ End If
+ Else
+ If LogErrorsOnly = False Then
+ ClassLogger.Add(" >> No Indexing: indexname: " & indexname, False)
+ ClassLogger.Add(" >> No Indexing: is optional? " & optional_Index.ToString, False)
End If
- Next
- '.....ansonsten neu anlegen
- If rowexists = False Then
- Dim newRow As DataRow = DTTemp.NewRow()
- newRow("Dokumentart") = row.Item("DOKUMENTART").ToString
- newRow("Indexname") = row.Item("INDEXNAME").ToString
- newRow("Value") = row.Item("Indexwert")
- DTTemp.Rows.Add(newRow)
- End If
-
-
-
-
- If LogErrorsOnly = False Then ClassLogger.Add(" >> Manueller Indexvalue: " & idxvalue.ToString, False)
- Count += 1
- indexierung_erfolgreich = ClassWindream.DateiIndexieren(CURRENT_NEWFILENAME, indexname, idxvalue)
- If indexierung_erfolgreich = False Then
- MsgBox("Error in Indexing file - See log", MsgBoxStyle.Critical)
- Return False
- Exit For
End If
+
End If
Next
@@ -1511,6 +1614,7 @@ Public Class frmIndex
Case "INTEGER"
If DR.Item("SUGGESTION") = True And DR.Item("SQL_RESULT").ToString.Length > 0 Then
AddVorschlag_ComboBox(DR.Item("NAME"), y, DR.Item("CONNECTION_ID"), DR.Item("SQL_RESULT"), DefaultValue)
+ 'AddAutoSuggest_Textbox(DR.Item("NAME"), y, DR.Item("CONNECTION_ID"), DR.Item("SQL_RESULT"), DefaultValue)
Else
Dim VORBELGUNG As Integer = DefaultValue
'nur eine Textbox
@@ -1519,6 +1623,7 @@ Public Class frmIndex
Case "VARCHAR"
If DR.Item("SUGGESTION") = True And DR.Item("SQL_RESULT").ToString.Length > 0 Then
AddVorschlag_ComboBox(DR.Item("NAME"), y, DR.Item("CONNECTION_ID"), DR.Item("SQL_RESULT"), DefaultValue)
+ 'AddAutoSuggest_Textbox(DR.Item("NAME"), y, DR.Item("CONNECTION_ID"), DR.Item("SQL_RESULT"), DefaultValue)
Else
If DR.Item("NAME").ToString.ToLower = "dateiname" Then
'Übergibt den Dateinamen um diesen Vorzuschlagen
@@ -1691,10 +1796,10 @@ Public Class frmIndex
End If
Next
Case Else
- If My.Settings.DoNot_Show_Documents = False And UniversalViewer <> "" Then
- If File.Exists(UniversalViewer) Then
+ If My.Settings.DoNot_Show_Documents = False And UniversalViewer_Path <> "" Then
+ If File.Exists(UniversalViewer_Path) Then
Console.WriteLine(Path.GetExtension(CURRENT_WORKFILE))
- Dim psi As New ProcessStartInfo(UniversalViewer, """" & CURRENT_WORKFILE & """")
+ Dim psi As New ProcessStartInfo(UniversalViewer_Path, """" & CURRENT_WORKFILE & """")
Proc.EnableRaisingEvents = True
Proc.StartInfo = psi
Proc.Start()
@@ -1706,12 +1811,14 @@ Public Class frmIndex
Else
Dim tempFilename = My.Computer.FileSystem.GetTempFileName()
Try
+
Me.grpBetreff.Dock = DockStyle.Top
Me.grpbxMailBody.Dock = DockStyle.Fill
Dim msg_email As New Msg.Message(CURRENT_WORKFILE)
'Eine tempfile generieren
Dim name = Path.GetFileNameWithoutExtension(tempFilename)
tempFilename = Path.Combine(Path.GetDirectoryName(tempFilename), name & ".html")
+ TEMP_FILES.Add(tempFilename)
If LogErrorsOnly = False Then ClassLogger.Add(" ...tempFilename: " & tempFilename, False)
'tempfile löschen
If My.Computer.FileSystem.FileExists(tempFilename) Then
@@ -1731,13 +1838,18 @@ Public Class frmIndex
'Catch ex As IOException
' MsgBox(ex.ToString)
'End Try
+ Dim vIn() As Byte
+ If IsNothing(msg_email.BodyHtml) Then
+ File.WriteAllText(tempFilename, msg_email.Body, System.Text.Encoding.UTF8)
+ Else
+ vIn = msg_email.BodyHtml
+ Dim vOut As String = System.Text.Encoding.UTF8.GetString(vIn)
+ File.WriteAllText(tempFilename, vOut, System.Text.Encoding.UTF8)
+ End If
- Dim vIn() As Byte = msg_email.BodyHtml
- Dim vOut As String = System.Text.Encoding.UTF8.GetString(vIn)
- If LogErrorsOnly = False Then ClassLogger.Add(" ...byteData finished. Now write to file", False)
- File.WriteAllText(tempFilename, vOut, System.Text.Encoding.UTF8)
+ If LogErrorsOnly = False Then ClassLogger.Add(" ...byteData and write to file finished.", False)
Catch ex As Exception
- MsgBox("Unerwarteter Fehler bei getHTML from Email: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ MsgBox("Unexpected Error in getHTML from Email: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
CURRENT_HTML_DOC = tempFilename
@@ -1880,6 +1992,7 @@ Public Class frmIndex
Me.Cursor = Cursors.Default
If err = False Then
MsgBox("Alle Dateien wurden mit Multiindexing erfolgreich verarbeitet!", MsgBoxStyle.Information, "Erfolgsmeldung:")
+ DTACTUAL_FILES.Clear()
Me.Close()
End If
End If
@@ -2008,17 +2121,18 @@ Public Class frmIndex
Dim RootFolder As String = Path.GetDirectoryName(fullfilename)
'######
-
- Dim preg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
+ Dim p_reg As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}"
' einen Regulären Ausdruck laden
- Dim regulärerAusdruck As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(preg)
+ Dim regularExpression As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(p_reg)
' die Vorkommen im Folder-String auslesen
- Dim elemente As System.Text.RegularExpressions.MatchCollection = regulärerAusdruck.Matches(folderindex)
+ Dim elemente As System.Text.RegularExpressions.MatchCollection = regularExpression.Matches(folderindex)
'####
' alle Vorkommen innerhalb des Ordnerstrings durchlaufen
For Each element As System.Text.RegularExpressions.Match In elemente
If LogErrorsOnly = False Then ClassLogger.Add(" >> Elementname in FolderString: '" & element.ToString & "'", False)
+ Console.WriteLine(element.ToString)
Select Case element.Value.Substring(2, 1).ToUpper
+
'Manueller Indexwert
Case "M"
Dim ManIndexname = element.Value.Substring(3, element.Value.Length - 4)
@@ -2062,6 +2176,9 @@ Public Class frmIndex
_day = "0" & _day
End If
Dim type = element.Value.Substring(3, element.Value.Length - 4)
+ If type.StartsWith("_") Then
+ type = type.Replace("_", "")
+ End If
Select Case type
Case "YYYY/MM/DD"
folder_temp = My.Computer.Clock.LocalTime.Year & "\" & _Month & "\" & _day
diff --git a/Global_Indexer/frmIndexFileList.vb b/Global_Indexer/frmIndexFileList.vb
index be67bb1..e499ed1 100644
--- a/Global_Indexer/frmIndexFileList.vb
+++ b/Global_Indexer/frmIndexFileList.vb
@@ -20,10 +20,27 @@
End Sub
Private Sub btnstartIndex_Click(sender As Object, e As EventArgs) Handles btnstartIndex.Click
- For Each item In CheckedListBoxControl1.CheckedItems
- Dim row As DataRowView = CType(item, DataRowView)
- ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE GUID = " & row.Item(0), True)
- Next
+ Try
+ For Each item In CheckedListBoxControl1.CheckedItems
+ Dim row As DataRowView = CType(item, DataRowView)
+ Dim _file = row.Item(1)
+ Dim handletype As String = row.Item("HANDLE_TYPE")
+
+ If handletype = "@MSGONLY@" Or handletype = "@ATTMNTEXTRACTED@" Then
+ Try
+ IO.File.Delete(_file)
+ Catch ex As Exception
+
+ End Try
+
+ End If
+ 'System.IO.File.Delete(filestring)
+ ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE GUID = " & row.Item(0), True)
+ Next
+ Catch ex As Exception
+ MsgBox("Unexpected Error in Clear Multiple Documents: " & ex.Message, MsgBoxStyle.Critical)
+ End Try
+
Me.Close()
End Sub
diff --git a/Global_Indexer/frmLicense.designer.vb b/Global_Indexer/frmLicense.designer.vb
index 6b6bfea..0f3c3ad 100644
--- a/Global_Indexer/frmLicense.designer.vb
+++ b/Global_Indexer/frmLicense.designer.vb
@@ -26,6 +26,12 @@ Partial Class frmLicense
Me.txtPW = New System.Windows.Forms.TextBox()
Me.lblPW = New System.Windows.Forms.Label()
Me.grbBoxlicense = New System.Windows.Forms.GroupBox()
+ Me.Label3 = New System.Windows.Forms.Label()
+ Me.dtpGueltig_HK = New System.Windows.Forms.DateTimePicker()
+ Me.Label5 = New System.Windows.Forms.Label()
+ Me.dtpGueltig_GI = New System.Windows.Forms.DateTimePicker()
+ Me.txtHotKey = New System.Windows.Forms.TextBox()
+ Me.Label4 = New System.Windows.Forms.Label()
Me.txtProfile = New System.Windows.Forms.TextBox()
Me.Label2 = New System.Windows.Forms.Label()
Me.txtlicensekey = New System.Windows.Forms.TextBox()
@@ -34,12 +40,6 @@ Partial Class frmLicense
Me.txtNewlicences = New System.Windows.Forms.TextBox()
Me.lblnewlicenses = New System.Windows.Forms.Label()
Me.lblAktuelleLizenzen = New System.Windows.Forms.Label()
- Me.Label4 = New System.Windows.Forms.Label()
- Me.txtHotKey = New System.Windows.Forms.TextBox()
- Me.Label5 = New System.Windows.Forms.Label()
- Me.dtpGueltig_GI = New System.Windows.Forms.DateTimePicker()
- Me.Label3 = New System.Windows.Forms.Label()
- Me.dtpGueltig_HK = New System.Windows.Forms.DateTimePicker()
Me.grbBoxlicense.SuspendLayout()
Me.SuspendLayout()
'
@@ -97,6 +97,62 @@ Partial Class frmLicense
Me.grbBoxlicense.Text = "Lizenzanzahl ändern (nur Administrator):"
Me.grbBoxlicense.Visible = False
'
+ 'Label3
+ '
+ Me.Label3.AutoSize = True
+ Me.Label3.Location = New System.Drawing.Point(325, 124)
+ Me.Label3.Name = "Label3"
+ Me.Label3.Size = New System.Drawing.Size(65, 16)
+ Me.Label3.TabIndex = 18
+ Me.Label3.Text = "Gültigkeit:"
+ Me.Label3.TextAlign = System.Drawing.ContentAlignment.TopRight
+ '
+ 'dtpGueltig_HK
+ '
+ Me.dtpGueltig_HK.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
+ Me.dtpGueltig_HK.Location = New System.Drawing.Point(396, 121)
+ Me.dtpGueltig_HK.Name = "dtpGueltig_HK"
+ Me.dtpGueltig_HK.Size = New System.Drawing.Size(104, 23)
+ Me.dtpGueltig_HK.TabIndex = 17
+ Me.dtpGueltig_HK.Value = New Date(2099, 12, 31, 0, 0, 0, 0)
+ '
+ 'Label5
+ '
+ Me.Label5.AutoSize = True
+ Me.Label5.Location = New System.Drawing.Point(325, 65)
+ Me.Label5.Name = "Label5"
+ Me.Label5.Size = New System.Drawing.Size(65, 16)
+ Me.Label5.TabIndex = 16
+ Me.Label5.Text = "Gültigkeit:"
+ Me.Label5.TextAlign = System.Drawing.ContentAlignment.TopRight
+ '
+ 'dtpGueltig_GI
+ '
+ Me.dtpGueltig_GI.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
+ Me.dtpGueltig_GI.Location = New System.Drawing.Point(396, 62)
+ Me.dtpGueltig_GI.Name = "dtpGueltig_GI"
+ Me.dtpGueltig_GI.Size = New System.Drawing.Size(104, 23)
+ Me.dtpGueltig_GI.TabIndex = 15
+ Me.dtpGueltig_GI.Value = New Date(2099, 12, 31, 0, 0, 0, 0)
+ '
+ 'txtHotKey
+ '
+ Me.txtHotKey.Location = New System.Drawing.Point(194, 121)
+ Me.txtHotKey.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
+ Me.txtHotKey.Name = "txtHotKey"
+ Me.txtHotKey.Size = New System.Drawing.Size(31, 23)
+ Me.txtHotKey.TabIndex = 14
+ Me.txtHotKey.Text = "0"
+ '
+ 'Label4
+ '
+ Me.Label4.AutoSize = True
+ Me.Label4.Location = New System.Drawing.Point(7, 124)
+ Me.Label4.Name = "Label4"
+ Me.Label4.Size = New System.Drawing.Size(136, 16)
+ Me.Label4.TabIndex = 13
+ Me.Label4.Text = "Anzahl HotKey-Option:"
+ '
'txtProfile
'
Me.txtProfile.Location = New System.Drawing.Point(194, 91)
@@ -111,9 +167,9 @@ Partial Class frmLicense
Me.Label2.AutoSize = True
Me.Label2.Location = New System.Drawing.Point(7, 94)
Me.Label2.Name = "Label2"
- Me.Label2.Size = New System.Drawing.Size(91, 16)
+ Me.Label2.Size = New System.Drawing.Size(142, 16)
Me.Label2.TabIndex = 10
- Me.Label2.Text = "Anzahl Profile:"
+ Me.Label2.Text = "Anzahl Dokumentarten:"
'
'txtlicensekey
'
@@ -174,62 +230,6 @@ Partial Class frmLicense
Me.lblAktuelleLizenzen.TabIndex = 2
Me.lblAktuelleLizenzen.Text = "Label13"
'
- 'Label4
- '
- Me.Label4.AutoSize = True
- Me.Label4.Location = New System.Drawing.Point(7, 124)
- Me.Label4.Name = "Label4"
- Me.Label4.Size = New System.Drawing.Size(136, 16)
- Me.Label4.TabIndex = 13
- Me.Label4.Text = "Anzahl HotKey-Option:"
- '
- 'txtHotKey
- '
- Me.txtHotKey.Location = New System.Drawing.Point(194, 121)
- Me.txtHotKey.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
- Me.txtHotKey.Name = "txtHotKey"
- Me.txtHotKey.Size = New System.Drawing.Size(31, 23)
- Me.txtHotKey.TabIndex = 14
- Me.txtHotKey.Text = "0"
- '
- 'Label5
- '
- Me.Label5.AutoSize = True
- Me.Label5.Location = New System.Drawing.Point(325, 65)
- Me.Label5.Name = "Label5"
- Me.Label5.Size = New System.Drawing.Size(65, 16)
- Me.Label5.TabIndex = 16
- Me.Label5.Text = "Gültigkeit:"
- Me.Label5.TextAlign = System.Drawing.ContentAlignment.TopRight
- '
- 'dtpGueltig_GI
- '
- Me.dtpGueltig_GI.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
- Me.dtpGueltig_GI.Location = New System.Drawing.Point(396, 62)
- Me.dtpGueltig_GI.Name = "dtpGueltig_GI"
- Me.dtpGueltig_GI.Size = New System.Drawing.Size(104, 23)
- Me.dtpGueltig_GI.TabIndex = 15
- Me.dtpGueltig_GI.Value = New Date(2099, 12, 31, 0, 0, 0, 0)
- '
- 'Label3
- '
- Me.Label3.AutoSize = True
- Me.Label3.Location = New System.Drawing.Point(325, 124)
- Me.Label3.Name = "Label3"
- Me.Label3.Size = New System.Drawing.Size(65, 16)
- Me.Label3.TabIndex = 18
- Me.Label3.Text = "Gültigkeit:"
- Me.Label3.TextAlign = System.Drawing.ContentAlignment.TopRight
- '
- 'dtpGueltig_HK
- '
- Me.dtpGueltig_HK.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
- Me.dtpGueltig_HK.Location = New System.Drawing.Point(396, 121)
- Me.dtpGueltig_HK.Name = "dtpGueltig_HK"
- Me.dtpGueltig_HK.Size = New System.Drawing.Size(104, 23)
- Me.dtpGueltig_HK.TabIndex = 17
- Me.dtpGueltig_HK.Value = New Date(2099, 12, 31, 0, 0, 0, 0)
- '
'frmLicense
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 16.0!)
diff --git a/Global_Indexer/frmLicense.vb b/Global_Indexer/frmLicense.vb
index a06b3a5..473cc90 100644
--- a/Global_Indexer/frmLicense.vb
+++ b/Global_Indexer/frmLicense.vb
@@ -48,7 +48,7 @@ Public Class frmLicense
If lic <> "" Then
lizenzzahl = split(0)
- License_Anzahl = lizenzzahl
+ LICENSE_COUNT = lizenzzahl
Else
lizenzzahl = "0"
End If
@@ -61,6 +61,7 @@ Public Class frmLicense
End If
txtProfile.Text = split(2)
+ LICENSE_DOCTYPE_COUNT = CInt(txtProfile.Text)
Try
txtHotKey.Text = split(3)
Catch ex As Exception
diff --git a/Global_Indexer/frmNamenkonvention.designer.vb b/Global_Indexer/frmNamenkonvention.designer.vb
index efbff80..d33c30c 100644
--- a/Global_Indexer/frmNamenkonvention.designer.vb
+++ b/Global_Indexer/frmNamenkonvention.designer.vb
@@ -23,6 +23,7 @@ Partial Class frmNamenkonvention
_
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
+ Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmNamenkonvention))
Me.Label1 = New System.Windows.Forms.Label()
Me.txtnamenKonv = New System.Windows.Forms.TextBox()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
@@ -36,6 +37,7 @@ Partial Class frmNamenkonvention
Me.Label3 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.Button2 = New System.Windows.Forms.Button()
Me.btnVersionTZ = New System.Windows.Forms.Button()
Me.btnTrennzeichen = New System.Windows.Forms.Button()
Me.btnVersion = New System.Windows.Forms.Button()
@@ -49,7 +51,6 @@ Partial Class frmNamenkonvention
Me.cmbDate = New System.Windows.Forms.ComboBox()
Me.Label20 = New System.Windows.Forms.Label()
Me.Button1 = New System.Windows.Forms.Button()
- Me.Button2 = New System.Windows.Forms.Button()
Me.GroupBox1.SuspendLayout()
CType(Me.TBDD_INDEX_AUTOMBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -93,7 +94,7 @@ Partial Class frmNamenkonvention
'
'btnAddIndexA
'
- Me.btnAddIndexA.Image = Global.Global_Indexer.My.Resources.Resources.add
+ Me.btnAddIndexA.Image = CType(resources.GetObject("btnAddIndexA.Image"), System.Drawing.Image)
Me.btnAddIndexA.Location = New System.Drawing.Point(187, 89)
Me.btnAddIndexA.Name = "btnAddIndexA"
Me.btnAddIndexA.Size = New System.Drawing.Size(30, 23)
@@ -102,7 +103,7 @@ Partial Class frmNamenkonvention
'
'btnAddIndexM
'
- Me.btnAddIndexM.Image = Global.Global_Indexer.My.Resources.Resources.add
+ Me.btnAddIndexM.Image = CType(resources.GetObject("btnAddIndexM.Image"), System.Drawing.Image)
Me.btnAddIndexM.Location = New System.Drawing.Point(187, 41)
Me.btnAddIndexM.Name = "btnAddIndexM"
Me.btnAddIndexM.Size = New System.Drawing.Size(30, 23)
@@ -177,9 +178,21 @@ Partial Class frmNamenkonvention
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "Variablen:"
'
+ 'Button2
+ '
+ Me.Button2.Image = CType(resources.GetObject("Button2.Image"), System.Drawing.Image)
+ Me.Button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.Button2.Location = New System.Drawing.Point(6, 153)
+ Me.Button2.Name = "Button2"
+ Me.Button2.Size = New System.Drawing.Size(163, 29)
+ Me.Button2.TabIndex = 8
+ Me.Button2.Text = "OriginalName"
+ Me.Button2.TextAlign = System.Drawing.ContentAlignment.MiddleRight
+ Me.Button2.UseVisualStyleBackColor = True
+ '
'btnVersionTZ
'
- Me.btnVersionTZ.Image = Global.Global_Indexer.My.Resources.Resources.add
+ Me.btnVersionTZ.Image = CType(resources.GetObject("btnVersionTZ.Image"), System.Drawing.Image)
Me.btnVersionTZ.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnVersionTZ.Location = New System.Drawing.Point(6, 105)
Me.btnVersionTZ.Name = "btnVersionTZ"
@@ -191,7 +204,7 @@ Partial Class frmNamenkonvention
'
'btnTrennzeichen
'
- Me.btnTrennzeichen.Image = Global.Global_Indexer.My.Resources.Resources.add
+ Me.btnTrennzeichen.Image = CType(resources.GetObject("btnTrennzeichen.Image"), System.Drawing.Image)
Me.btnTrennzeichen.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnTrennzeichen.Location = New System.Drawing.Point(6, 56)
Me.btnTrennzeichen.Name = "btnTrennzeichen"
@@ -203,7 +216,7 @@ Partial Class frmNamenkonvention
'
'btnVersion
'
- Me.btnVersion.Image = Global.Global_Indexer.My.Resources.Resources.add
+ Me.btnVersion.Image = CType(resources.GetObject("btnVersion.Image"), System.Drawing.Image)
Me.btnVersion.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnVersion.Location = New System.Drawing.Point(6, 21)
Me.btnVersion.Name = "btnVersion"
@@ -224,7 +237,7 @@ Partial Class frmNamenkonvention
'
'btnOK
'
- Me.btnOK.Image = Global.Global_Indexer.My.Resources.Resources.database_save1
+ Me.btnOK.Image = Global.Global_Indexer.My.Resources.Resources.save_16xLG
Me.btnOK.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnOK.Location = New System.Drawing.Point(261, 303)
Me.btnOK.Name = "btnOK"
@@ -265,6 +278,11 @@ Partial Class frmNamenkonvention
Me.TableAdapterManager.TBDD_USERTableAdapter = Nothing
Me.TableAdapterManager.TBGI_CONFIGURATIONTableAdapter = Nothing
Me.TableAdapterManager.TBGI_OBJECTTYPE_EMAIL_INDEXTableAdapter = Nothing
+ Me.TableAdapterManager.TBHOTKEY_PATTERNS_REWORKTableAdapter = Nothing
+ Me.TableAdapterManager.TBHOTKEY_PATTERNSTableAdapter = Nothing
+ Me.TableAdapterManager.TBHOTKEY_PROFILETableAdapter = Nothing
+ Me.TableAdapterManager.TBHOTKEY_USER_PROFILETableAdapter = Nothing
+ Me.TableAdapterManager.TBHOTKEY_WINDOW_HOOKTableAdapter = Nothing
Me.TableAdapterManager.UpdateOrder = Global_Indexer.MyDatasetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
'
'TBDD_INDEX_AUTOMTableAdapter
@@ -292,30 +310,18 @@ Partial Class frmNamenkonvention
'
'Button1
'
- Me.Button1.Image = Global.Global_Indexer.My.Resources.Resources.add
+ Me.Button1.Image = CType(resources.GetObject("Button1.Image"), System.Drawing.Image)
Me.Button1.Location = New System.Drawing.Point(199, 265)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(30, 23)
Me.Button1.TabIndex = 9
Me.Button1.UseVisualStyleBackColor = True
'
- 'Button2
- '
- Me.Button2.Image = Global.Global_Indexer.My.Resources.Resources.add
- Me.Button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
- Me.Button2.Location = New System.Drawing.Point(6, 153)
- Me.Button2.Name = "Button2"
- Me.Button2.Size = New System.Drawing.Size(163, 29)
- Me.Button2.TabIndex = 8
- Me.Button2.Text = "OriginalName"
- Me.Button2.TextAlign = System.Drawing.ContentAlignment.MiddleRight
- Me.Button2.UseVisualStyleBackColor = True
- '
'frmNamenkonvention
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 17.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(467, 359)
+ Me.ClientSize = New System.Drawing.Size(467, 343)
Me.ControlBox = False
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.cmbDate)
diff --git a/Global_Indexer/frmNamenkonvention.resx b/Global_Indexer/frmNamenkonvention.resx
index 47d6699..d979770 100644
--- a/Global_Indexer/frmNamenkonvention.resx
+++ b/Global_Indexer/frmNamenkonvention.resx
@@ -117,24 +117,64 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABcSURBVDhPzYxRCoAwDEN3tt7/PP2NWDrJaoRNYRh4H0uX
+ 1wB8QpYrjA+Ku6OSp8iUwMwu9gjOT0wVMH1zE/DoiZ8LmDpi+mYQcJQgT5E9gkqeIlLwBlmuIMt50A4j
+ RH5TZf96FwAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABcSURBVDhPzYxRCoAwDEN3tt7/PP2NWDrJaoRNYRh4H0uX
+ 1wB8QpYrjA+Ku6OSp8iUwMwu9gjOT0wVMH1zE/DoiZ8LmDpi+mYQcJQgT5E9gkqeIlLwBlmuIMt50A4j
+ RH5TZf96FwAAAABJRU5ErkJggg==
+
+
1004, 17
-
- 1004, 17
-
-
- 257, 17
-
257, 17
367, 17
-
- 367, 17
-
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABcSURBVDhPzYxRCoAwDEN3tt7/PP2NWDrJaoRNYRh4H0uX
+ 1wB8QpYrjA+Ku6OSp8iUwMwu9gjOT0wVMH1zE/DoiZ8LmDpi+mYQcJQgT5E9gkqeIlLwBlmuIMt50A4j
+ RH5TZf96FwAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABcSURBVDhPzYxRCoAwDEN3tt7/PP2NWDrJaoRNYRh4H0uX
+ 1wB8QpYrjA+Ku6OSp8iUwMwu9gjOT0wVMH1zE/DoiZ8LmDpi+mYQcJQgT5E9gkqeIlLwBlmuIMt50A4j
+ RH5TZf96FwAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABcSURBVDhPzYxRCoAwDEN3tt7/PP2NWDrJaoRNYRh4H0uX
+ 1wB8QpYrjA+Ku6OSp8iUwMwu9gjOT0wVMH1zE/DoiZ8LmDpi+mYQcJQgT5E9gkqeIlLwBlmuIMt50A4j
+ RH5TZf96FwAAAABJRU5ErkJggg==
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABcSURBVDhPzYxRCoAwDEN3tt7/PP2NWDrJaoRNYRh4H0uX
+ 1wB8QpYrjA+Ku6OSp8iUwMwu9gjOT0wVMH1zE/DoiZ8LmDpi+mYQcJQgT5E9gkqeIlLwBlmuIMt50A4j
+ RH5TZf96FwAAAABJRU5ErkJggg==
+
+
17, 17
@@ -147,4 +187,12 @@
1254, 17
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
+ YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABcSURBVDhPzYxRCoAwDEN3tt7/PP2NWDrJaoRNYRh4H0uX
+ 1wB8QpYrjA+Ku6OSp8iUwMwu9gjOT0wVMH1zE/DoiZ8LmDpi+mYQcJQgT5E9gkqeIlLwBlmuIMt50A4j
+ RH5TZf96FwAAAABJRU5ErkJggg==
+
+
\ No newline at end of file
diff --git a/Global_Indexer/frmSQLConfigAutoIndex.Designer.vb b/Global_Indexer/frmSQLConfigAutoIndex.Designer.vb
index 3a3140b..67285c9 100644
--- a/Global_Indexer/frmSQLConfigAutoIndex.Designer.vb
+++ b/Global_Indexer/frmSQLConfigAutoIndex.Designer.vb
@@ -25,7 +25,7 @@ Partial Class SQLConfigAutoIndex
Me.components = New System.ComponentModel.Container()
Dim SQL_ERGEBNISLabel As System.Windows.Forms.Label
Dim Label3 As System.Windows.Forms.Label
- Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+ Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Me.btnVorschlag = New System.Windows.Forms.Button()
Me.SQL_ERGEBNISTextBox = New System.Windows.Forms.TextBox()
Me.cmbConnection = New System.Windows.Forms.ComboBox()
@@ -57,7 +57,6 @@ Partial Class SQLConfigAutoIndex
Me.cmbFromTables = New System.Windows.Forms.ComboBox()
Me.cmbWhereColumns = New System.Windows.Forms.ComboBox()
Me.Label8 = New System.Windows.Forms.Label()
- Me.Label5 = New System.Windows.Forms.Label()
SQL_ERGEBNISLabel = New System.Windows.Forms.Label()
Label3 = New System.Windows.Forms.Label()
CType(Me.TBDD_CONNECTIONBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -244,8 +243,8 @@ Partial Class SQLConfigAutoIndex
'
Me.dgvPlaceholders.AllowUserToAddRows = False
Me.dgvPlaceholders.AllowUserToDeleteRows = False
- DataGridViewCellStyle1.BackColor = System.Drawing.Color.Cyan
- Me.dgvPlaceholders.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle1
+ DataGridViewCellStyle2.BackColor = System.Drawing.Color.Cyan
+ Me.dgvPlaceholders.AlternatingRowsDefaultCellStyle = DataGridViewCellStyle2
Me.dgvPlaceholders.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgvPlaceholders.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.colPlaceholder, Me.colReplace})
Me.dgvPlaceholders.Enabled = False
@@ -267,7 +266,6 @@ Partial Class SQLConfigAutoIndex
'
'GroupBox4
'
- Me.GroupBox4.Controls.Add(Me.Label5)
Me.GroupBox4.Controls.Add(Me.radioView)
Me.GroupBox4.Controls.Add(Me.radioTable)
Me.GroupBox4.Controls.Add(Me.Label4)
@@ -400,15 +398,6 @@ Partial Class SQLConfigAutoIndex
Me.Label8.TabIndex = 23
Me.Label8.Text = "WHERE"
'
- 'Label5
- '
- Me.Label5.AutoSize = True
- Me.Label5.Location = New System.Drawing.Point(628, 47)
- Me.Label5.Name = "Label5"
- Me.Label5.Size = New System.Drawing.Size(217, 52)
- Me.Label5.TabIndex = 87
- Me.Label5.Text = "Hinweis:" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "Definieren Sie den SQL-Befehl indem Sie " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "1. Tabelle/View" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "2"
- '
'SQLConfigAutoIndex
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -475,5 +464,4 @@ Partial Class SQLConfigAutoIndex
Friend WithEvents radioTable As System.Windows.Forms.RadioButton
Friend WithEvents radioView As System.Windows.Forms.RadioButton
Friend WithEvents Label4 As System.Windows.Forms.Label
- Friend WithEvents Label5 As System.Windows.Forms.Label
End Class
diff --git a/Global_Indexer/frmSQLConfigAutoIndex.resx b/Global_Indexer/frmSQLConfigAutoIndex.resx
index 8794a1a..8b8e847 100644
--- a/Global_Indexer/frmSQLConfigAutoIndex.resx
+++ b/Global_Indexer/frmSQLConfigAutoIndex.resx
@@ -126,6 +126,12 @@
127, 17
+
+ 127, 17
+
+
+ 17, 17
+
17, 17
@@ -138,6 +144,9 @@
782, 17
+
+ 782, 17
+
1017, 17
diff --git a/Global_Indexer/frmSQLConfigAutoIndex.vb b/Global_Indexer/frmSQLConfigAutoIndex.vb
index 88124db..688d58a 100644
--- a/Global_Indexer/frmSQLConfigAutoIndex.vb
+++ b/Global_Indexer/frmSQLConfigAutoIndex.vb
@@ -129,6 +129,7 @@ Public Class SQLConfigAutoIndex
End If
Try
Me.TBDD_INDEX_MANTableAdapter.Fill(Me.MyDataset.TBDD_INDEX_MAN, CURRENT_DOKART_ID)
+ Add_ManualIndexe()
Catch ex As System.Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load Manual Indices:")
End Try
@@ -177,7 +178,13 @@ Public Class SQLConfigAutoIndex
e.Handled = True
End If
End Sub
+ Sub Add_ManualIndexe()
+ Try
+ Catch ex As Exception
+ MsgBox("Error in Add Manual Indices: " & ex.Message, MsgBoxStyle.Critical)
+ End Try
+ End Sub
Private Sub btnaddManualIdx_Click(sender As Object, e As EventArgs) Handles btnaddManualIdx.Click
If cmbManualIDX.SelectedIndex <> -1 Then
If Not cmbManualIDX.Text = String.Empty Then
diff --git a/Global_Indexer/frmStart.Designer.vb b/Global_Indexer/frmStart.Designer.vb
index b801b7c..0d4523a 100644
--- a/Global_Indexer/frmStart.Designer.vb
+++ b/Global_Indexer/frmStart.Designer.vb
@@ -35,15 +35,24 @@ Partial Class frmStart
Me.HistoryIndexierteDateienToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.InfoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.StatusStrip1 = New System.Windows.Forms.StatusStrip()
- Me.tslblstatus = New System.Windows.Forms.ToolStripStatusLabel()
Me.tslblFW = New System.Windows.Forms.ToolStripStatusLabel()
+ Me.tslblCultureInfo = New System.Windows.Forms.ToolStripStatusLabel()
+ Me.TimerFolderWatch = New System.Windows.Forms.Timer(Me.components)
+ Me.TimerClose3Minutes = New System.Windows.Forms.Timer(Me.components)
+ Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components)
+ Me.TimerCheckDroppedFiles = New System.Windows.Forms.Timer(Me.components)
+ Me.LabelControl1 = New DevExpress.XtraEditors.LabelControl()
+ Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog()
+ Me.LabelMachine = New DevExpress.XtraBars.BarStaticItem()
+ Me.LabelUser = New DevExpress.XtraBars.BarStaticItem()
+ Me.LabelLoggedIn = New DevExpress.XtraBars.BarStaticItem()
+ Me.LabelVersion = New DevExpress.XtraBars.BarStaticItem()
+ Me.RibbonMiniToolbar1 = New DevExpress.XtraBars.Ribbon.RibbonMiniToolbar(Me.components)
Me.MyDataset = New Global_Indexer.MyDataset()
Me.TBHOTKEY_USER_PROFILEBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.TBHOTKEY_USER_PROFILETableAdapter = New Global_Indexer.MyDatasetTableAdapters.TBHOTKEY_USER_PROFILETableAdapter()
Me.TableAdapterManager = New Global_Indexer.MyDatasetTableAdapters.TableAdapterManager()
- Me.TimerFolderWatch = New System.Windows.Forms.Timer(Me.components)
- Me.TimerClose3Minutes = New System.Windows.Forms.Timer(Me.components)
- Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components)
+ Me.btnChoosefiles = New System.Windows.Forms.Button()
Me.MenuStrip1.SuspendLayout()
Me.StatusStrip1.SuspendLayout()
CType(Me.MyDataset, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -53,11 +62,8 @@ Partial Class frmStart
'MenuStrip1
'
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.KonfigurationToolStripMenuItem})
- Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
+ resources.ApplyResources(Me.MenuStrip1, "MenuStrip1")
Me.MenuStrip1.Name = "MenuStrip1"
- Me.MenuStrip1.Size = New System.Drawing.Size(305, 24)
- Me.MenuStrip1.TabIndex = 5
- Me.MenuStrip1.Text = "MenuStrip1"
'
'KonfigurationToolStripMenuItem
'
@@ -65,87 +71,131 @@ Partial Class frmStart
Me.KonfigurationToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AdministrationToolStripMenuItem, Me.ToolStripSeparator1, Me.GrundeinstellungenToolStripMenuItem, Me.FrmHotkeyAddToolStripMenuItem, Me.HistoryIndexierteDateienToolStripMenuItem, Me.InfoToolStripMenuItem})
Me.KonfigurationToolStripMenuItem.Image = Global.Global_Indexer.My.Resources.Resources.gear_32xLG
Me.KonfigurationToolStripMenuItem.Name = "KonfigurationToolStripMenuItem"
- Me.KonfigurationToolStripMenuItem.Size = New System.Drawing.Size(108, 20)
- Me.KonfigurationToolStripMenuItem.Text = "Konfiguration"
+ resources.ApplyResources(Me.KonfigurationToolStripMenuItem, "KonfigurationToolStripMenuItem")
'
'AdministrationToolStripMenuItem
'
Me.AdministrationToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.GlobalIndexerEinstellungenToolStripMenuItem, Me.HotkeyEisntellungenToolStripMenuItem})
Me.AdministrationToolStripMenuItem.Image = Global.Global_Indexer.My.Resources.Resources.Einstellungen6
Me.AdministrationToolStripMenuItem.Name = "AdministrationToolStripMenuItem"
- Me.AdministrationToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
- Me.AdministrationToolStripMenuItem.Text = "Administration"
+ resources.ApplyResources(Me.AdministrationToolStripMenuItem, "AdministrationToolStripMenuItem")
'
'GlobalIndexerEinstellungenToolStripMenuItem
'
Me.GlobalIndexerEinstellungenToolStripMenuItem.Image = Global.Global_Indexer.My.Resources.Resources.Einstellungen6
Me.GlobalIndexerEinstellungenToolStripMenuItem.Name = "GlobalIndexerEinstellungenToolStripMenuItem"
- Me.GlobalIndexerEinstellungenToolStripMenuItem.Size = New System.Drawing.Size(231, 22)
- Me.GlobalIndexerEinstellungenToolStripMenuItem.Text = "Global Indexer - Einstellungen"
+ resources.ApplyResources(Me.GlobalIndexerEinstellungenToolStripMenuItem, "GlobalIndexerEinstellungenToolStripMenuItem")
'
'HotkeyEisntellungenToolStripMenuItem
'
Me.HotkeyEisntellungenToolStripMenuItem.Image = Global.Global_Indexer.My.Resources.Resources.Shortcut_8169_16x
Me.HotkeyEisntellungenToolStripMenuItem.Name = "HotkeyEisntellungenToolStripMenuItem"
- Me.HotkeyEisntellungenToolStripMenuItem.Size = New System.Drawing.Size(231, 22)
- Me.HotkeyEisntellungenToolStripMenuItem.Text = "Hotkey - Einstellungen"
+ resources.ApplyResources(Me.HotkeyEisntellungenToolStripMenuItem, "HotkeyEisntellungenToolStripMenuItem")
'
'ToolStripSeparator1
'
Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
- Me.ToolStripSeparator1.Size = New System.Drawing.Size(214, 6)
+ resources.ApplyResources(Me.ToolStripSeparator1, "ToolStripSeparator1")
'
'GrundeinstellungenToolStripMenuItem
'
Me.GrundeinstellungenToolStripMenuItem.Name = "GrundeinstellungenToolStripMenuItem"
- Me.GrundeinstellungenToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
- Me.GrundeinstellungenToolStripMenuItem.Text = "Grundeinstellungen User"
+ resources.ApplyResources(Me.GrundeinstellungenToolStripMenuItem, "GrundeinstellungenToolStripMenuItem")
'
'FrmHotkeyAddToolStripMenuItem
'
Me.FrmHotkeyAddToolStripMenuItem.Image = Global.Global_Indexer.My.Resources.Resources.Shortcut_8169_16x
Me.FrmHotkeyAddToolStripMenuItem.Name = "FrmHotkeyAddToolStripMenuItem"
- Me.FrmHotkeyAddToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
- Me.FrmHotkeyAddToolStripMenuItem.Text = "Hotkey-Funktion User"
+ resources.ApplyResources(Me.FrmHotkeyAddToolStripMenuItem, "FrmHotkeyAddToolStripMenuItem")
'
'HistoryIndexierteDateienToolStripMenuItem
'
Me.HistoryIndexierteDateienToolStripMenuItem.Name = "HistoryIndexierteDateienToolStripMenuItem"
- Me.HistoryIndexierteDateienToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
- Me.HistoryIndexierteDateienToolStripMenuItem.Text = "History - Indexierte Dateien"
+ resources.ApplyResources(Me.HistoryIndexierteDateienToolStripMenuItem, "HistoryIndexierteDateienToolStripMenuItem")
'
'InfoToolStripMenuItem
'
Me.InfoToolStripMenuItem.Name = "InfoToolStripMenuItem"
- Me.InfoToolStripMenuItem.Size = New System.Drawing.Size(217, 22)
- Me.InfoToolStripMenuItem.Text = "Info"
+ resources.ApplyResources(Me.InfoToolStripMenuItem, "InfoToolStripMenuItem")
'
'StatusStrip1
'
Me.StatusStrip1.AllowDrop = True
- Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tslblstatus, Me.tslblFW})
- Me.StatusStrip1.Location = New System.Drawing.Point(0, 99)
+ Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tslblFW, Me.tslblCultureInfo})
+ resources.ApplyResources(Me.StatusStrip1, "StatusStrip1")
Me.StatusStrip1.Name = "StatusStrip1"
- Me.StatusStrip1.Size = New System.Drawing.Size(305, 22)
- Me.StatusStrip1.TabIndex = 6
- Me.StatusStrip1.Text = "StatusStrip1"
- '
- 'tslblstatus
- '
- Me.tslblstatus.BackColor = System.Drawing.SystemColors.Control
- Me.tslblstatus.Name = "tslblstatus"
- Me.tslblstatus.Size = New System.Drawing.Size(121, 17)
- Me.tslblstatus.Text = "ToolStripStatusLabel1"
- Me.tslblstatus.Visible = False
'
'tslblFW
'
Me.tslblFW.BackColor = System.Drawing.SystemColors.Control
Me.tslblFW.Image = Global.Global_Indexer.My.Resources.Resources.bell_go
Me.tslblFW.Name = "tslblFW"
- Me.tslblFW.Size = New System.Drawing.Size(133, 17)
- Me.tslblFW.Text = "FolderWatch ist aktiv"
- Me.tslblFW.Visible = False
+ resources.ApplyResources(Me.tslblFW, "tslblFW")
+ '
+ 'tslblCultureInfo
+ '
+ Me.tslblCultureInfo.BackColor = System.Drawing.SystemColors.Control
+ Me.tslblCultureInfo.Name = "tslblCultureInfo"
+ resources.ApplyResources(Me.tslblCultureInfo, "tslblCultureInfo")
+ Me.tslblCultureInfo.TextDirection = System.Windows.Forms.ToolStripTextDirection.Horizontal
+ '
+ 'TimerFolderWatch
+ '
+ Me.TimerFolderWatch.Interval = 2000
+ '
+ 'TimerClose3Minutes
+ '
+ Me.TimerClose3Minutes.Interval = 180000
+ '
+ 'NotifyIcon1
+ '
+ resources.ApplyResources(Me.NotifyIcon1, "NotifyIcon1")
+ '
+ 'TimerCheckDroppedFiles
+ '
+ Me.TimerCheckDroppedFiles.Interval = 500
+ '
+ 'LabelControl1
+ '
+ Me.LabelControl1.AllowDrop = True
+ resources.ApplyResources(Me.LabelControl1, "LabelControl1")
+ Me.LabelControl1.Appearance.Font = CType(resources.GetObject("LabelControl1.Appearance.Font"), System.Drawing.Font)
+ 'Me.LabelControl1.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center
+ 'Me.LabelControl1.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder
+ Me.LabelControl1.Name = "LabelControl1"
+ '
+ 'OpenFileDialog1
+ '
+ Me.OpenFileDialog1.FileName = "OpenFileDialog1"
+ Me.OpenFileDialog1.Multiselect = True
+ '
+ 'LabelMachine
+ '
+ resources.ApplyResources(Me.LabelMachine, "LabelMachine")
+ Me.LabelMachine.Id = 3
+ Me.LabelMachine.Name = "LabelMachine"
+ Me.LabelMachine.TextAlignment = System.Drawing.StringAlignment.Near
+ '
+ 'LabelUser
+ '
+ resources.ApplyResources(Me.LabelUser, "LabelUser")
+ Me.LabelUser.Id = 4
+ Me.LabelUser.Name = "LabelUser"
+ Me.LabelUser.TextAlignment = System.Drawing.StringAlignment.Near
+ '
+ 'LabelLoggedIn
+ '
+ resources.ApplyResources(Me.LabelLoggedIn, "LabelLoggedIn")
+ Me.LabelLoggedIn.Id = 5
+ Me.LabelLoggedIn.Name = "LabelLoggedIn"
+ Me.LabelLoggedIn.TextAlignment = System.Drawing.StringAlignment.Near
+ '
+ 'LabelVersion
+ '
+ resources.ApplyResources(Me.LabelVersion, "LabelVersion")
+ Me.LabelVersion.Id = 6
+ Me.LabelVersion.Name = "LabelVersion"
+ Me.LabelVersion.TextAlignment = System.Drawing.StringAlignment.Near
'
'MyDataset
'
@@ -182,33 +232,25 @@ Partial Class frmStart
Me.TableAdapterManager.TBHOTKEY_WINDOW_HOOKTableAdapter = Nothing
Me.TableAdapterManager.UpdateOrder = Global_Indexer.MyDatasetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
'
- 'TimerFolderWatch
+ 'btnChoosefiles
'
- Me.TimerFolderWatch.Interval = 2000
- '
- 'TimerClose3Minutes
- '
- Me.TimerClose3Minutes.Interval = 180000
- '
- 'NotifyIcon1
- '
- Me.NotifyIcon1.Icon = CType(resources.GetObject("NotifyIcon1.Icon"), System.Drawing.Icon)
- Me.NotifyIcon1.Text = "GlobalIndexer"
+ Me.btnChoosefiles.AllowDrop = True
+ resources.ApplyResources(Me.btnChoosefiles, "btnChoosefiles")
+ Me.btnChoosefiles.Name = "btnChoosefiles"
+ Me.btnChoosefiles.UseVisualStyleBackColor = True
'
'frmStart
'
Me.AllowDrop = True
- Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
+ resources.ApplyResources(Me, "$this")
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.BackColor = System.Drawing.SystemColors.ActiveCaption
- Me.ClientSize = New System.Drawing.Size(305, 121)
+ Me.BackColor = System.Drawing.SystemColors.ControlLight
+ Me.Controls.Add(Me.btnChoosefiles)
+ Me.Controls.Add(Me.LabelControl1)
Me.Controls.Add(Me.StatusStrip1)
Me.Controls.Add(Me.MenuStrip1)
- Me.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MaximizeBox = False
Me.Name = "frmStart"
- Me.Text = "Global Indexer"
Me.TopMost = True
Me.MenuStrip1.ResumeLayout(False)
Me.MenuStrip1.PerformLayout()
@@ -229,7 +271,6 @@ Partial Class frmStart
Friend WithEvents GrundeinstellungenToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents FrmHotkeyAddToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip
- Friend WithEvents tslblstatus As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents tslblFW As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents MyDataset As Global_Indexer.MyDataset
Friend WithEvents TBHOTKEY_USER_PROFILEBindingSource As System.Windows.Forms.BindingSource
@@ -240,4 +281,14 @@ Partial Class frmStart
Friend WithEvents NotifyIcon1 As System.Windows.Forms.NotifyIcon
Friend WithEvents HistoryIndexierteDateienToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents InfoToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+ Friend WithEvents TimerCheckDroppedFiles As System.Windows.Forms.Timer
+ Friend WithEvents LabelControl1 As DevExpress.XtraEditors.LabelControl
+ Friend WithEvents btnChoosefiles As System.Windows.Forms.Button
+ Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog
+ Friend WithEvents tslblCultureInfo As System.Windows.Forms.ToolStripStatusLabel
+ Friend WithEvents LabelMachine As DevExpress.XtraBars.BarStaticItem
+ Friend WithEvents LabelUser As DevExpress.XtraBars.BarStaticItem
+ Friend WithEvents LabelLoggedIn As DevExpress.XtraBars.BarStaticItem
+ Friend WithEvents LabelVersion As DevExpress.XtraBars.BarStaticItem
+ Friend WithEvents RibbonMiniToolbar1 As DevExpress.XtraBars.Ribbon.RibbonMiniToolbar
End Class
diff --git a/Global_Indexer/frmStart.de.resx b/Global_Indexer/frmStart.de.resx
new file mode 100644
index 0000000..19228ba
--- /dev/null
+++ b/Global_Indexer/frmStart.de.resx
@@ -0,0 +1,473 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+ 348, 24
+
+
+ 0, 17
+
+
+
+
+
+ 0, 157
+
+
+ 348, 22
+
+
+
+ AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAABILAAASCwAAAAAAAAAA
+ AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABQAAAAQAAAAFAAAABAAAAAQAAAADAAAAAgAA
+ AAH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AAAAAAEAAAAEAAAABQAAAAL///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8AAAAAAwAAAAUAAAADAAAAAf///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8AAAAAAwAAAAT///8A////AP///wD///8AAAAABgAAACEAAAA8AAAAUgAA
+ AF8AAABsAAAAcgAAAGUAAABbAAAASQAAADEAAAAYAAAAAv///wD///8A////AP///wAAAAAEAAAAA///
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wAAAAAEAAAAAv///wD///8AAAAABwAAAD4AAAB9AAAAtQAA
+ AN0AAAD3AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8AAAANYAAACtAAAAdwAA
+ ADoAAAAH////AP///wAAAAABAAAABP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAMAAAAC////AP///wAAAAAzAAAAkQAA
+ AN4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD8AAAA+wAAAPsAAAD7AAAA+wAAAPwAAAD9AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA3QAAAJYAAAA8////AP///wAAAAAEAAAAAv///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAX///8A////AAAA
+ AEEAAAC5AAAA/wAAAP8AAAD/AAAA/gAAAPwAAAD6AAAA+QAAAPoAAAD7AAAA/gAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/gAAAPoAAAD5AAAA+QAAAPkAAAD7AAAA/gAAAP8AAAD/AAAA/wAAAMcAAABF////AP//
+ /wAAAAAD////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAgAA
+ AAL///8AAAAAIAAAAKwAAAD/AAAA/wAAAP4AAAD3AAAA/AAAAP8AAAD9AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD7AAAA/QAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAP4AAAD9AAAA+wAA
+ AP4AAAD/AAAA/wAAAIgAAAAE////AAAAAAP///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8AAAAABP///wD///8AAAAAZgAAAPQAAAD/AAAA/gAAAPgAAAD/AAAA/wAAAP8AAAD8AAAA/wAA
+ ANgAAACXAAAAeAAAAGUAAABKAAAAJwAAAC8AAAAfAAAAsQAAAP8AAADTAAAAbAAAAJkAAACvAAAA1gAA
+ AP8AAAD+AAAA/wAAAP8AAAD/AAAA+wAAAP4AAAD/AAAAzwAAABD///8AAAAABP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8AAAAABP///wAAAAAEAAAApAAAAP8AAAD/AAAA+gAAAPsAAAD/AAAA/wAA
+ AKMAAADQAAAA/wAAAP8AAAA5////AP///wD///8A////AP///wD///8A////AAAAALsAAAD/AAAApv//
+ /wD///8A////AP///wAAAAC+AAAA/wAAAPwAAAD/AAAA/QAAAP4AAAD+AAAA+QAAAP8AAADB////AP//
+ /wAAAAAC////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8AAAAABP///wAAAAAVAAAAzAAAAP8AAAD8AAAA/AAA
+ AP8AAAD/AAAAwQAAAC////8AAAAA1AAAAP8AAADS////AAAAAAIAAAAEAAAABAAAAAMAAAAD////AAAA
+ AA0AAADiAAAA/wAAAJT///8AAAAABgAAAAf///8AAAAAXQAAAP8AAAD8AAAA/gAAAP8AAAD/AAAA/AAA
+ AP8AAAD6AAAA/wAAALH///8A////AAAAAAH///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAA////wAAAAAhAAAA3gAA
+ AP8AAAD6AAAA/QAAAP8AAAD3AAAAaP///wD///8AAAAAOgAAAP8AAAD/AAAAkP///wAAAAAE////AP//
+ /wD///8AAAAAAf///wAAAAAMAAAA5gAAAP8AAACA////AAAAAAQAAAAC////AAAAABsAAADvAAAA/wAA
+ AP4AAACxAAAA8QAAAP8AAAD8AAAA/wAAAPsAAAD/AAAAcv///wAAAAAF////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAv//
+ /wAAAAAQAAAA4QAAAP8AAAD6AAAA/gAAAP0AAAD/AAAA2QAAAGIAAAA2////AAAAAHUAAAD/AAAA/wAA
+ AFT///8AAAAABwAAAAIAAAABAAAAAQAAAAL///8AAAAAEAAAAOcAAAD/AAAAcv///wAAAAAE////AAAA
+ AAL///8AAAAAtQAAAP8AAAD/AAAAfQAAABoAAADfAAAA/wAAAPwAAAD+AAAA/wAAAPkAAAAm////AAAA
+ AAP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AAAAAAT///8AAAAAjgAAAP8AAAD5AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AM0AAADhAAAA/wAAAPIAAAAQ////AP///wD///8A////AP///wAAAAAC////AAAAACgAAAD2AAAA/wAA
+ AGn///8AAAAACAAAAAQAAAAJ////AAAAAHkAAAD/AAAA/wAAAMf///8AAAAACQAAAN8AAAD/AAAA/QAA
+ APsAAAD/AAAAtf///wAAAAAB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AAAAAAT///8AAAAAPwAAAP8AAAD/AAAA/gAAAP4AAAD/AAAAbAAA
+ ADgAAACpAAAA7QAAAP8AAAD/AAAA/wAAAP8AAAD5AAAAnwAAAGMAAAA4AAAAHAAAAAkAAAAF////AP//
+ /wAAAAAwAAAA/wAAAP8AAABU////AP///wD///8A////AP///wAAAAApAAAA/wAAAP8AAADrAAAAKgAA
+ AGEAAADpAAAA/wAAAP0AAAD/AAAA/AAAAP8AAABb////AAAAAAT///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAB////AAAAAMYAAAD/AAAA/AAA
+ APsAAAD/AAAAjP///wD///8A////AAAAABoAAABnAAAAyAAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAA
+ AO4AAADcAAAA1QAAAMQAAACuAAAAugAAAP8AAAD/AAAAqAAAAGsAAAB1AAAAdAAAAG4AAABfAAAAZAAA
+ APAAAAD/AAAA/gAAAPEAAAD/AAAA/wAAAP0AAAD/AAAA/gAAAPwAAAD/AAAAyP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAE////AAAA
+ AE8AAAD/AAAA/QAAAPsAAAD/AAAAyP///wD///8AAAAABQAAAAP///8A////AAAAAFIAAAD/AAAA/gAA
+ ANIAAADgAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/QAAAP8AAAD/AAAA9wAAAP8AAAD+AAAA/gAA
+ AP8AAAA8////AAAAAAP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wAAAADJAAAA/wAAAPsAAAD/AAAA/wAAADr///8AAAAABP///wD///8AAAAABv//
+ /wAAAACJAAAA/wAAAP0AAAAvAAAABQAAAEgAAAB1AAAAqgAAANoAAADvAAAA/QAAAP8AAAD/AAAA/gAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAC2AAAAOAAA
+ AFAAAAD/AAAA/gAAAPsAAAD/AAAAnP///wAAAAAE////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8AAAAABP///wAAAABWAAAA/wAAAP0AAAD7AAAA/wAAAKT///8AAAAABP//
+ /wD///8A////AAAAAAH///8AAAAAtgAAAP8AAADrAAAAGP///wD///8A////AP///wAAAAAGAAAAGwAA
+ ADUAAABLAAAAwAAAAP8AAAD/AAAAvQAAALEAAADDAAAAzgAAANMAAADbAAAA2QAAAOcAAAD/AAAA/wAA
+ AOEAAAA1////AP///wD///8AAAAAxwAAAP8AAAD6AAAA/wAAAOIAAAAK////AAAAAAH///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAP///8AAAAAtgAAAP8AAAD7AAAA/wAA
+ AP8AAAA6////AAAAAAP///8A////AAAAAAH///8AAAAACQAAAN0AAAD/AAAA0P///wAAAAABAAAABAAA
+ AAUAAAAD////AP///wD///8A////AAAAAJAAAAD/AAAA+AAAABr///8A////AP///wD///8AAAAACf//
+ /wAAAABDAAAA/wAAAP8AAADN////AP///wAAAAAJ////AAAAAGMAAAD/AAAA+wAAAP0AAAD/AAAAS///
+ /wAAAAAE////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAH///8AAAAACQAA
+ AOAAAAD/AAAA+gAAAP8AAADB////AAAAAAH///8A////AP///wAAAAAC////AAAAACUAAAD2AAAA/wAA
+ AKv///8AAAAAA////wD///8A////AAAAAAEAAAACAAAABv///wAAAACsAAAA/wAAAOQAAAAR////AAAA
+ AAL///8A////AP///wD///8AAAAAIwAAAPcAAAD/AAAA3QAAAAz///8AAAAAA////wAAAAAYAAAA7wAA
+ AP8AAAD6AAAA/wAAAJz///8AAAAABP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wAAAAAD////AAAAADMAAAD/AAAA/wAAAPsAAAD/AAAAX////wAAAAAE////AP///wD///8AAAAAA///
+ /wAAAABEAAAA/wAAAP8AAACD////AAAAAAX///8A////AP///wD///8A////AAAAAAL///8AAAAAvAAA
+ AP8AAADTAAAAA////wAAAAABAAAAAQAAAAEAAAAD////AAAAABwAAADyAAAA/wAAANsAAAAI////AAAA
+ AAIAAAAC////AAAAALMAAAD/AAAA+QAAAP8AAADVAAAAAf///wAAAAAB////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8AAAAABP///wAAAABeAAAA/wAAAPoAAAD/AAAA7AAAABf///8AAAAAAv//
+ /wD///8A////AAAAAAT///8AAAAAYQAAAP8AAAD/AAAAX////wAAAAAHAAAAAgAAAAMAAAADAAAAAwAA
+ AAMAAAADAAAAAQAAAMsAAAD/AAAAyP///wAAAAACAAAAAf///wD///8AAAAAAv///wAAAAAVAAAA6QAA
+ AP8AAADbAAAACf///wAAAAABAAAABP///wAAAAB1AAAA/wAAAPoAAAD/AAAA+AAAACP///8AAAAAAv//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAX///8AAAAAfgAAAP8AAAD6AAAA/wAA
+ APgAAAAp////AAAAAAYAAAAEAAAAAwAAAAIAAAAE////AAAAAHIAAAD/AAAA/wAAADv///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wAAAADZAAAA/wAAALn///8A////AAAAAAIAAAADAAAABAAA
+ AAX///8AAAAAFgAAAOkAAAD/AAAA0gAAAAX///8AAAAAAQAAAAP///8AAAAASAAAAP8AAAD9AAAA/QAA
+ AP8AAABP////AAAAAAT///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAE////AAAA
+ AKMAAAD/AAAA+AAAAP8AAACq////AP///wD///8A////AP///wD///8AAAAAAgAAAAEAAACOAAAA/wAA
+ APsAAABRAAAAJQAAADkAAAA3AAAAQwAAAEQAAABDAAAARAAAAEEAAABNAAAA6wAAAP8AAAC5AAAADAAA
+ AAn///8A////AP///wD///8A////AAAAABEAAADoAAAA/wAAAMz///8A////AAAAAAQAAAAG////AAAA
+ AC0AAAD/AAAA/wAAAPsAAAD/AAAAfP///wAAAAAF////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8AAAAAAv///wAAAAC4AAAA/wAAAPoAAAD/AAAATAAAABQAAABLAAAAaQAAAIcAAACgAAAAuQAA
+ ANAAAADkAAAA+wAAAP8AAAD/AAAA+gAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA+gAAAOwAAADaAAAAxAAAAKUAAACCAAAAXQAAAC4AAAAmAAAA6QAAAP8AAADVAAAADP//
+ /wD///8A////AP///wAAAAAFAAAAygAAAP8AAAD4AAAA/wAAAKP///8AAAAABP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AAAAAAH///8AAAAAvgAAAP8AAAD9AAAA/gAAAOEAAAD1AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAA
+ APsAAAD/AAAA+gAAANsAAADGAAAAmgAAAFQAAAAO////AAAAAKUAAAD/AAAA+AAAAP8AAADC////AAAA
+ AAH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAMkAAAD/AAAA/AAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAPIAAADpAAAA4AAAANQAAADxAAAA/wAAAP4AAAC3AAAAmQAA
+ AJMAAACKAAAAiwAAAIsAAACLAAAAjQAAAJEAAACgAAAA/QAAAP8AAADSAAAAuwAAAM4AAADcAAAA6wAA
+ APYAAAD/AAAA/wAAAP8AAAD/AAAA/QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4gAAAHUAAADAAAAA/wAA
+ APoAAAD/AAAA2P///wD///8AAAAAAf///wD///8A////AP///wD///8A////AP///wAAAAAB////AP//
+ /wAAAADYAAAA/wAAAPwAAAD/AAAA4QAAAKcAAAB3AAAATgAAADIAAAAeAAAAEAAAAAz///8AAAAAogAA
+ AP8AAADwAAAAEf///wD///8A////AP///wD///8A////AP///wD///8AAAAAKgAAAP8AAAD/AAAAVf//
+ /wAAAAADAAAABwAAABMAAAAlAAAAOQAAAEkAAABxAAAA9AAAAP8AAADrAAAArAAAAKoAAAC4AAAA+wAA
+ AP8AAAD/AAAA/wAAAP8AAAD9AAAA/wAAANkAAAAB////AAAAAAH///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8AAAAAywAAAP8AAAD8AAAA/wAAADX///8A////AP///wD///8A////AP//
+ /wD///8A////AAAAAJ0AAAD/AAAA6wAAABz///8AAAAABgAAAAQAAAAEAAAABAAAAAQAAAAI////AAAA
+ AE8AAAD/AAAA/wAAAFf///8AAAAABP///wD///8A////AP///wD///8AAAAABQAAAOcAAAD/AAAAvf//
+ /wD///8A////AAAAAC0AAACUAAAA8AAAAP8AAAD9AAAA/QAAAP8AAADaAAAAAv///wAAAAAB////AP//
+ /wD///8A////AP///wD///8A////AP///wAAAAAD////AAAAAKwAAAD/AAAA+wAAAP8AAAA/////AAAA
+ AAcAAAADAAAAAwAAAAIAAAABAAAABP///wAAAACSAAAA/wAAAOwAAAAZ////AAAAAAL///8A////AP//
+ /wD///8AAAAABP///wAAAABfAAAA/wAAAP8AAABH////AAAAAAQAAAABAAAAAQAAAAIAAAAF////AAAA
+ ABgAAADoAAAA/wAAAML///8AAAAAAwAAAAP///8A////AAAAABUAAADMAAAA/wAAAPoAAAD/AAAA2QAA
+ AAH///8AAAAAAf///wD///8A////AP///wD///8A////AP///wD///8AAAAABP///wAAAACUAAAA/wAA
+ APcAAAD/AAAAbP///wAAAAAE////AP///wD///8A////AAAAAAP///8AAAAAhAAAAP8AAADsAAAAGv//
+ /wAAAAAC////AP///wD///8A////AAAAAAT///8AAAAAcQAAAP8AAAD/AAAAPP///wAAAAAD////AP//
+ /wD///8AAAAAAv///wAAAAAbAAAA7wAAAP8AAAC9////AAAAAAEAAAABAAAAAwAAAAb///8AAAAArAAA
+ AP8AAAD5AAAA/wAAANb///8A////AAAAAAH///8A////AP///wD///8A////AP///wD///8A////AAAA
+ AAT///8AAAAAbQAAAP8AAAD4AAAA/wAAAKv///8AAAAAAv///wD///8A////AP///wAAAAAE////AAAA
+ AHMAAAD/AAAA9AAAACH///8AAAAAAv///wD///8A////AP///wAAAAAE////AAAAAIEAAAD/AAAA+gAA
+ ACz///8AAAAAAv///wD///8A////AAAAAAL///8AAAAAHwAAAPMAAAD/AAAAsv///wAAAAAC////AAAA
+ AAH///8A////AAAAAMcAAAD/AAAA+QAAAP8AAADI////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wAAAAAD////AAAAACYAAAD6AAAA/gAAAP8AAADeAAAABf///wAAAAAB////AP//
+ /wD///8AAAAABP///wAAAABgAAAA/wAAAPwAAAAx////AAAAAAP///8A////AP///wD///8AAAAABP//
+ /wAAAACPAAAA/wAAAPMAAAAc////AAAAAAL///8A////AP///wAAAAAD////AAAAACoAAAD3AAAA/wAA
+ AKH///8AAAAAA////wAAAAAB////AAAAAAoAAADgAAAA/wAAAPkAAAD/AAAAtf///wAAAAAC////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAxgAAAP8AAAD7AAAA/wAA
+ AE3///8AAAAAA////wD///8A////AAAAAAP///8AAAAASQAAAP8AAAD/AAAARf///wAAAAAEAAAAAQAA
+ AAEAAAACAAAAAgAAAAb///8AAAAAnAAAAP8AAADoAAAAFf///wAAAAAFAAAAAwAAAAMAAAABAAAABP//
+ /wAAAAA6AAAA/QAAAP8AAACM////AAAAAAP///8AAAAAAv///wAAAAAkAAAA+AAAAP8AAAD6AAAA/wAA
+ AJr///8AAAAABP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAF////AAAA
+ AGEAAAD/AAAA9wAAAP8AAAC7////AAAAAAL///8A////AP///wAAAAAD////AAAAADIAAAD/AAAA/wAA
+ AFz///8AAAAABf///wD///8A////AP///wD///8A////AAAAAKEAAAD/AAAA1f///wD///8A////AP//
+ /wD///8A////AAAAAAX///8AAAAAUQAAAP8AAAD/AAAAc////wAAAAAE////AAAAAAP///8AAAAASwAA
+ AP8AAAD9AAAA+wAAAP8AAAB1////AAAAAAX///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8AAAAAAf///wAAAAAIAAAA3AAAAP8AAAD8AAAA/wAAAEj///8AAAAABP///wD///8AAAAABP//
+ /wAAAAAXAAAA6gAAAP8AAABt////AP///wD///8AAAAADAAAABgAAAAiAAAAMAAAADMAAADEAAAA/wAA
+ ANsAAABPAAAAUgAAAEgAAAA7AAAAJwAAABD///8A////AAAAAGYAAAD/AAAA/wAAAFn///8AAAAAA///
+ /wAAAAAE////AAAAAIAAAAD/AAAA+gAAAP0AAAD/AAAASP///wAAAAAE////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wAAAAAF////AAAAAGIAAAD/AAAA+AAAAP8AAADYAAAAAf//
+ /wAAAAAFAAAAA////wD///8AAAAACQAAAN0AAAD/AAAAzAAAAKAAAADEAAAA1QAAAOEAAADsAAAA9wAA
+ AP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADnAAAAygAAAH0AAAC0AAAA/wAA
+ AP8AAAAv////AAAAAAcAAAAB////AP///wAAAADHAAAA/wAAAPsAAAD/AAAA8gAAABv///8AAAAAAv//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAH///8AAAAAwQAA
+ AP8AAAD2AAAA/wAAAJP///8A////AP///wAAAAAlAAAAhQAAANYAAAD8AAAA/gAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAAU////wD///8AAAAAA////wAAAAAwAAAA/wAAAP8AAAD7AAAA/wAA
+ AMX///8AAAAAAf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wAAAAAD////AAAAACIAAADwAAAA/wAAAPsAAAD/AAAAaAAAACMAAACnAAAA9QAAAP8AAAD/AAAA/wAA
+ AP8AAAD9AAAA/wAAAP8AAAD/AAAA9wAAAPAAAADqAAAA4gAAANgAAAD6AAAA/wAAAOwAAADEAAAAxgAA
+ AMwAAADdAAAA7wAAAP8AAAD/AAAA/wAAAP0AAAD/AAAA/QAAAP8AAADBAAAATf///wD///8AAAAAhwAA
+ AP8AAAD7AAAA/AAAAP8AAAB9////AAAAAAX///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AAAAAAX///8AAAAAUQAAAP8AAAD9AAAA/wAAAPwAAAD3AAAA/wAA
+ AP8AAAD/AAAA9wAAAN4AAAD8AAAA/wAAAH0AAAA4AAAAMQAAACUAAAAdAAAAFgAAAAYAAAAXAAAA7QAA
+ AP8AAACZ////AAAAAAH///8AAAAABwAAABkAAAA4AAAAXwAAALsAAAD/AAAA/gAAAP8AAAD/AAAA/wAA
+ AP8AAAC/AAAAOAAAANAAAAD/AAAA/AAAAP8AAAD+AAAAKv///wAAAAAD////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAABP///wAAAACCAAAA/wAA
+ APoAAAD/AAAA/wAAAOkAAAC8AAAAdwAAACIAAAATAAAA4gAAAP8AAABN////AP///wD///8A////AP//
+ /wD///8AAAAAHgAAAPMAAAD/AAAAgv///wAAAAAE////AP///wD///8A////AP///wAAAAB2AAAA/wAA
+ APoAAADOAAAA+gAAAP8AAAD/AAAA/wAAAP8AAAD9AAAA/wAAAPoAAAD/AAAAr////wAAAAAC////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAA
+ AAL///8AAAAACQAAAOIAAAD/AAAA+QAAAP8AAADVAAAABP///wD///8A////AAAAALEAAAD/AAAAkf//
+ /wAAAAAHAAAAAgAAAAIAAAAE////AAAAAC4AAAD7AAAA/wAAAGv///8AAAAABQAAAAEAAAABAAAAAgAA
+ AAP///8AAAAAyQAAAP8AAADkAAAADAAAACgAAACbAAAA+AAAAP0AAAD/AAAA/wAAAP0AAAD/AAAA9wAA
+ ACb///8AAAAAA////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8AAAAABP///wAAAABJAAAA/wAAAP4AAAD6AAAA/wAAALEAAAAFAAAABv//
+ /wAAAAByAAAA/wAAAMX///8A////AP///wD///8AAAAAA////wAAAAA8AAAA/wAAAP8AAABV////AAAA
+ AAT///8A////AAAAAAT///8AAAAAOQAAAP4AAAD/AAAAmv///wD///8A////AAAAAE0AAAD/AAAA/gAA
+ AP4AAAD8AAAA/wAAAGT///8AAAAABf///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAD////AAAAAIgAAAD/AAAA+wAA
+ APoAAAD/AAAAqv///wD///8AAAAALgAAAP8AAAD4AAAAIP///wAAAAAC////AAAAAAP///8AAAAASwAA
+ AP8AAAD/AAAAQf///wAAAAAD////AP///wAAAAAE////AAAAAKQAAAD/AAAA/wAAADf///8A////AAAA
+ ACcAAADJAAAA/wAAAP0AAAD6AAAA/wAAAKD///8AAAAAAv///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAf//
+ /wD///8AAAAAlAAAAP8AAAD9AAAA+wAAAP8AAAB7////AP///wAAAADIAAAA/wAAAF////8AAAAABf//
+ /wAAAAAE////AAAAAFsAAAD/AAAA/gAAADL///8AAAAAA////wAAAAAD////AAAAACYAAAD3AAAA/wAA
+ ALb///8A////AAAAAEAAAADzAAAA/wAAAPwAAAD7AAAA/wAAAKP///8A////AAAAAAH///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wAAAAAC////AP///wAAAACFAAAA/wAAAP8AAAD5AAAA/wAAAIT///8AAAAAagAA
+ AP8AAACs////AAAAAAP///8AAAAABP///wAAAABkAAAA/wAAAPYAAAAj////AAAAAAL///8AAAAAA///
+ /wAAAAClAAAA/wAAAPgAAAAcAAAAGwAAAKUAAAD/AAAA/wAAAPkAAAD+AAAA/wAAAKz///8A////AAAA
+ AAL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAAAB////AAAAAGQAAAD7AAAA/wAA
+ APoAAAD/AAAApwAAACkAAADvAAAA9wAAABf///8AAAAABAAAAAX///8AAAAAYwAAAP8AAADxAAAAGv//
+ /wAAAAAFAAAACP///wAAAABZAAAA/wAAAP8AAACXAAAAbwAAAPsAAAD/AAAA/wAAAPoAAAD/AAAA/wAA
+ AIb///8A////AAAAAAP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAQAA
+ AAP///8AAAAAJgAAALYAAAD/AAAA/wAAAP8AAADYAAAA3AAAAP8AAABj////AP///wAAAAAD////AAAA
+ AGYAAAD/AAAA5gAAAAL///8A////AP///wAAAAAnAAAA+AAAAP8AAAD4AAAA5QAAAP8AAAD/AAAA+wAA
+ APoAAAD/AAAA/wAAAF////8A////AAAAAAL///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8AAAAABP///wD///8AAAAAYAAAAOwAAAD/AAAA/wAAAP8AAAD/AAAA2gAA
+ AFkAAAArAAAAA////wAAAABUAAAA/wAAAOoAAABZAAAATwAAAE8AAABeAAAA2wAAAP8AAAD8AAAA/wAA
+ AP8AAAD8AAAA/QAAAPsAAAD/AAAA8gAAAET///8AAAAABAAAAAH///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAADAAAAAv///wAAAAAWAAAAogAA
+ AP8AAAD/AAAA/QAAAP8AAAD/AAAA/AAAAMoAAACvAAAAwQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
+ AP8AAAD8AAAA/wAAAP0AAAD7AAAA+wAAAPsAAAD/AAAA4AAAACb///8AAAAABf///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wAAAAAF////AP///wAAAABFAAAAxwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAA/AAA
+ APoAAAD6AAAA+gAAAPoAAAD8AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAxwAAABb///8AAAAABf//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AAAAAAIAAAAD////AP///wAAAAA7AAAAngAAANIAAADxAAAA/wAA
+ AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA5gAAANQAAACYAAAATwAA
+ AAH///8AAAAABP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAQAAAAB////AP//
+ /wD///8AAAAAGwAAADgAAABCAAAAUQAAAGwAAAByAAAAagAAAGAAAABZAAAASwAAAEQAAABAAAAAJgAA
+ AA////8A////AP///wD///8AAAAAA////wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AAAAAAMAAAAE////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AAAAAAQAAAAEAAAAAf///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAEAAAACAAAAAwAAAAQAAAAEAAAABQAA
+ AAQAAAAFAAAABQAAAAQAAAAEAAAABAAAAAQAAAADAAAAAQAAAAH///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
+ /wD///8A/////////////////////////////////////////////////////////+AA///////+H/8P
+ //////ngAPP/////5gAADP////+YAAADP////2AAAADf///8gAAAAC////sAAAAAF///9AAfx4Ab///o
+ AiCEgA3//9AMLoSABf//oAQghUAC//+gAD6EQgL//0AAAYfAAX//QOAAAAAB//6BmAAAAAC//4FoAAAA
+ AL/9Auh4AADgX/0C0IeHoaBf+gXQuIXgoF/6BdC+hCCQL/oF0IAJoJAv+gQQ/4wgkC/6D8AAA+GQL/oA
+ AAAAAPAv+gAAAAAACC/+AAAAAAAAN/YAEP8IAAAX/g/wgQvhwBf6CBC9CCEwF/oL0L0LoQg3+gvQvQuh
+ WD/6BdC9C6FQL/8F0IEIIVAv/QXQvx+hUC/9AtDgAGFQL/6BMAAAATAv/0HAAAABoF//QAAAAABgX/+g
+ AAAUAABf/9AAfhfAAL//0BxCEEAAv//oBHoWhwF///QMKhaGAv//9gYqFQwG///7AioVAA3///yAEhIA
+ G////kAaHAA3////sAIAAE/////IAAAAv/////YAAAF/////+YAAAv/////+cAA9//////+f/+P/////
+ /+AAH/////////////////////////////////////////////8=
+
+
+
+
+
+
+
+ Comic Sans MS, 11.25pt
+
+
+
+ 0
+
+
+ Regular
+
+
+ Horizontal
+
+
+
+
+
+
+
+
+
+
+
+ 38, 48
+
+
+ 263, 40
+
+
+ Comic Sans MS, 14.25pt
+
+
+ 38, 94
+
+
+ 263, 37
+
+
+ wählen Sie hier Dateien
+
+
+ 348, 179
+
+
+
+
+
\ No newline at end of file
diff --git a/Global_Indexer/frmStart.resx b/Global_Indexer/frmStart.resx
index d24e4ee..0a4cff7 100644
--- a/Global_Indexer/frmStart.resx
+++ b/Global_Indexer/frmStart.resx
@@ -120,31 +120,134 @@
17, 17
+
+
+ 231, 22
+
+
+ Global Indexer - Einstellungen
+
+
+ 231, 22
+
+
+ Hotkey - Einstellungen
+
+
+ 217, 22
+
+
+ Administration
+
+
+ 214, 6
+
+
+ 217, 22
+
+
+ Grundeinstellungen User
+
+
+ 217, 22
+
+
+ Hotkey-Funktion User
+
+
+ 217, 22
+
+
+ History - Indexierte Dateien
+
+
+ 217, 22
+
+
+ Info
+
+
+ 108, 20
+
+
+ Konfiguration
+
+
+ 0, 0
+
+
+ 393, 24
+
+
+
+ 5
+
+
+ MenuStrip1
+
+
+ MenuStrip1
+
+
+ System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 3
+
132, 17
-
- 249, 17
-
-
- 359, 17
-
-
- 17, 56
-
-
- 284, 56
-
+
+ 133, 17
+
+
+ FolderWatch ist aktiv
+
+
+ False
+
+
+ 121, 17
+
+
+ ToolStripStatusLabel1
+
+
+ 0, 188
+
+
+ 393, 22
+
+
+ 6
+
+
+ StatusStrip1
+
+
+ StatusStrip1
+
+
+ System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 2
+
- 457, 56
+ 1072, 17
- 608, 56
+ 1223, 17
- 17, 95
+ 1386, 17
-
AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAABILAAASCwAAAAAAAAAA
@@ -432,294 +535,1171 @@
/+AAH/////////////////////////////////////////////8=
+
+ GlobalIndexer
+
+
+ 1501, 17
+
+
+
+ None
+
+
+ Comic Sans MS, 12pt
+
+
+ 53, 63
+
+
+ 282, 46
+
+
+ 8
+
+
+ Ziehen Sie Dateien per Drag and Drop
+hierher oder
+
+
+ LabelControl1
+
+
+ DevExpress.XtraEditors.LabelControl, DevExpress.XtraEditors.v15.1, Version=15.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ $this
+
+
+ 1
+
+
+ 1689, 17
+
+
+ StatusMachine
+
+
+ StatusUser
+
+
+ StatusLoggedIn
+
+
+ StatusVersion
+
+
+ 17, 56
+
+
+ 249, 17
+
+
+ 359, 17
+
+
+ 632, 17
+
+
+ 899, 17
+
+
+ None
+
+
+ Comic Sans MS, 14.25pt
+
+
+ NoControl
+
+
+ 53, 115
+
+
+ 282, 37
+
+
+ 9
+
+
+ wählen Sie hier Dateien
+
+
+ btnChoosefiles
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
+
+ True
+
203
+
+ 6, 13
+
+
+ 393, 210
+
+
+ Segoe UI, 8.25pt
+
- AAABAAEAQEAAAAEAIAAoQgAAFgAAACgAAABAAAAAgAAAAAEAIAAAAAAAAEAAABILAAASCwAAAAAAAAAA
- AAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABQAAAAQAAAAFAAAABAAAAAQAAAADAAAAAgAA
- AAH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AAAAAAEAAAAEAAAABQAAAAL///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8AAAAAAwAAAAUAAAADAAAAAf///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8AAAAAAwAAAAT///8A////AP///wD///8AAAAABgAAACEAAAA8AAAAUgAA
- AF8AAABsAAAAcgAAAGUAAABbAAAASQAAADEAAAAYAAAAAv///wD///8A////AP///wAAAAAEAAAAA///
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wAAAAAEAAAAAv///wD///8AAAAABwAAAD4AAAB9AAAAtQAA
- AN0AAAD3AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8AAAANYAAACtAAAAdwAA
- ADoAAAAH////AP///wAAAAABAAAABP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAMAAAAC////AP///wAAAAAzAAAAkQAA
- AN4AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP4AAAD8AAAA+wAAAPsAAAD7AAAA+wAAAPwAAAD9AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA3QAAAJYAAAA8////AP///wAAAAAEAAAAAv///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAX///8A////AAAA
- AEEAAAC5AAAA/wAAAP8AAAD/AAAA/gAAAPwAAAD6AAAA+QAAAPoAAAD7AAAA/gAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/gAAAPoAAAD5AAAA+QAAAPkAAAD7AAAA/gAAAP8AAAD/AAAA/wAAAMcAAABF////AP//
- /wAAAAAD////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAgAA
- AAL///8AAAAAIAAAAKwAAAD/AAAA/wAAAP4AAAD3AAAA/AAAAP8AAAD9AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD7AAAA/QAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAP4AAAD9AAAA+wAA
- AP4AAAD/AAAA/wAAAIgAAAAE////AAAAAAP///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8AAAAABP///wD///8AAAAAZgAAAPQAAAD/AAAA/gAAAPgAAAD/AAAA/wAAAP8AAAD8AAAA/wAA
- ANgAAACXAAAAeAAAAGUAAABKAAAAJwAAAC8AAAAfAAAAsQAAAP8AAADTAAAAbAAAAJkAAACvAAAA1gAA
- AP8AAAD+AAAA/wAAAP8AAAD/AAAA+wAAAP4AAAD/AAAAzwAAABD///8AAAAABP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8AAAAABP///wAAAAAEAAAApAAAAP8AAAD/AAAA+gAAAPsAAAD/AAAA/wAA
- AKMAAADQAAAA/wAAAP8AAAA5////AP///wD///8A////AP///wD///8A////AAAAALsAAAD/AAAApv//
- /wD///8A////AP///wAAAAC+AAAA/wAAAPwAAAD/AAAA/QAAAP4AAAD+AAAA+QAAAP8AAADB////AP//
- /wAAAAAC////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8AAAAABP///wAAAAAVAAAAzAAAAP8AAAD8AAAA/AAA
- AP8AAAD/AAAAwQAAAC////8AAAAA1AAAAP8AAADS////AAAAAAIAAAAEAAAABAAAAAMAAAAD////AAAA
- AA0AAADiAAAA/wAAAJT///8AAAAABgAAAAf///8AAAAAXQAAAP8AAAD8AAAA/gAAAP8AAAD/AAAA/AAA
- AP8AAAD6AAAA/wAAALH///8A////AAAAAAH///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAA////wAAAAAhAAAA3gAA
- AP8AAAD6AAAA/QAAAP8AAAD3AAAAaP///wD///8AAAAAOgAAAP8AAAD/AAAAkP///wAAAAAE////AP//
- /wD///8AAAAAAf///wAAAAAMAAAA5gAAAP8AAACA////AAAAAAQAAAAC////AAAAABsAAADvAAAA/wAA
- AP4AAACxAAAA8QAAAP8AAAD8AAAA/wAAAPsAAAD/AAAAcv///wAAAAAF////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAv//
- /wAAAAAQAAAA4QAAAP8AAAD6AAAA/gAAAP0AAAD/AAAA2QAAAGIAAAA2////AAAAAHUAAAD/AAAA/wAA
- AFT///8AAAAABwAAAAIAAAABAAAAAQAAAAL///8AAAAAEAAAAOcAAAD/AAAAcv///wAAAAAE////AAAA
- AAL///8AAAAAtQAAAP8AAAD/AAAAfQAAABoAAADfAAAA/wAAAPwAAAD+AAAA/wAAAPkAAAAm////AAAA
- AAP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AAAAAAT///8AAAAAjgAAAP8AAAD5AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AM0AAADhAAAA/wAAAPIAAAAQ////AP///wD///8A////AP///wAAAAAC////AAAAACgAAAD2AAAA/wAA
- AGn///8AAAAACAAAAAQAAAAJ////AAAAAHkAAAD/AAAA/wAAAMf///8AAAAACQAAAN8AAAD/AAAA/QAA
- APsAAAD/AAAAtf///wAAAAAB////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AAAAAAT///8AAAAAPwAAAP8AAAD/AAAA/gAAAP4AAAD/AAAAbAAA
- ADgAAACpAAAA7QAAAP8AAAD/AAAA/wAAAP8AAAD5AAAAnwAAAGMAAAA4AAAAHAAAAAkAAAAF////AP//
- /wAAAAAwAAAA/wAAAP8AAABU////AP///wD///8A////AP///wAAAAApAAAA/wAAAP8AAADrAAAAKgAA
- AGEAAADpAAAA/wAAAP0AAAD/AAAA/AAAAP8AAABb////AAAAAAT///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAB////AAAAAMYAAAD/AAAA/AAA
- APsAAAD/AAAAjP///wD///8A////AAAAABoAAABnAAAAyAAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAA
- AO4AAADcAAAA1QAAAMQAAACuAAAAugAAAP8AAAD/AAAAqAAAAGsAAAB1AAAAdAAAAG4AAABfAAAAZAAA
- APAAAAD/AAAA/gAAAPEAAAD/AAAA/wAAAP0AAAD/AAAA/gAAAPwAAAD/AAAAyP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAE////AAAA
- AE8AAAD/AAAA/QAAAPsAAAD/AAAAyP///wD///8AAAAABQAAAAP///8A////AAAAAFIAAAD/AAAA/gAA
- ANIAAADgAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/QAAAP8AAAD/AAAA9wAAAP8AAAD+AAAA/gAA
- AP8AAAA8////AAAAAAP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wAAAADJAAAA/wAAAPsAAAD/AAAA/wAAADr///8AAAAABP///wD///8AAAAABv//
- /wAAAACJAAAA/wAAAP0AAAAvAAAABQAAAEgAAAB1AAAAqgAAANoAAADvAAAA/QAAAP8AAAD/AAAA/gAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAC2AAAAOAAA
- AFAAAAD/AAAA/gAAAPsAAAD/AAAAnP///wAAAAAE////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8AAAAABP///wAAAABWAAAA/wAAAP0AAAD7AAAA/wAAAKT///8AAAAABP//
- /wD///8A////AAAAAAH///8AAAAAtgAAAP8AAADrAAAAGP///wD///8A////AP///wAAAAAGAAAAGwAA
- ADUAAABLAAAAwAAAAP8AAAD/AAAAvQAAALEAAADDAAAAzgAAANMAAADbAAAA2QAAAOcAAAD/AAAA/wAA
- AOEAAAA1////AP///wD///8AAAAAxwAAAP8AAAD6AAAA/wAAAOIAAAAK////AAAAAAH///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAP///8AAAAAtgAAAP8AAAD7AAAA/wAA
- AP8AAAA6////AAAAAAP///8A////AAAAAAH///8AAAAACQAAAN0AAAD/AAAA0P///wAAAAABAAAABAAA
- AAUAAAAD////AP///wD///8A////AAAAAJAAAAD/AAAA+AAAABr///8A////AP///wD///8AAAAACf//
- /wAAAABDAAAA/wAAAP8AAADN////AP///wAAAAAJ////AAAAAGMAAAD/AAAA+wAAAP0AAAD/AAAAS///
- /wAAAAAE////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAH///8AAAAACQAA
- AOAAAAD/AAAA+gAAAP8AAADB////AAAAAAH///8A////AP///wAAAAAC////AAAAACUAAAD2AAAA/wAA
- AKv///8AAAAAA////wD///8A////AAAAAAEAAAACAAAABv///wAAAACsAAAA/wAAAOQAAAAR////AAAA
- AAL///8A////AP///wD///8AAAAAIwAAAPcAAAD/AAAA3QAAAAz///8AAAAAA////wAAAAAYAAAA7wAA
- AP8AAAD6AAAA/wAAAJz///8AAAAABP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wAAAAAD////AAAAADMAAAD/AAAA/wAAAPsAAAD/AAAAX////wAAAAAE////AP///wD///8AAAAAA///
- /wAAAABEAAAA/wAAAP8AAACD////AAAAAAX///8A////AP///wD///8A////AAAAAAL///8AAAAAvAAA
- AP8AAADTAAAAA////wAAAAABAAAAAQAAAAEAAAAD////AAAAABwAAADyAAAA/wAAANsAAAAI////AAAA
- AAIAAAAC////AAAAALMAAAD/AAAA+QAAAP8AAADVAAAAAf///wAAAAAB////AP///wD///8A////AP//
- /wD///8A////AP///wD///8AAAAABP///wAAAABeAAAA/wAAAPoAAAD/AAAA7AAAABf///8AAAAAAv//
- /wD///8A////AAAAAAT///8AAAAAYQAAAP8AAAD/AAAAX////wAAAAAHAAAAAgAAAAMAAAADAAAAAwAA
- AAMAAAADAAAAAQAAAMsAAAD/AAAAyP///wAAAAACAAAAAf///wD///8AAAAAAv///wAAAAAVAAAA6QAA
- AP8AAADbAAAACf///wAAAAABAAAABP///wAAAAB1AAAA/wAAAPoAAAD/AAAA+AAAACP///8AAAAAAv//
- /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAX///8AAAAAfgAAAP8AAAD6AAAA/wAA
- APgAAAAp////AAAAAAYAAAAEAAAAAwAAAAIAAAAE////AAAAAHIAAAD/AAAA/wAAADv///8A////AP//
- /wD///8A////AP///wD///8A////AP///wAAAADZAAAA/wAAALn///8A////AAAAAAIAAAADAAAABAAA
- AAX///8AAAAAFgAAAOkAAAD/AAAA0gAAAAX///8AAAAAAQAAAAP///8AAAAASAAAAP8AAAD9AAAA/QAA
- AP8AAABP////AAAAAAT///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAE////AAAA
- AKMAAAD/AAAA+AAAAP8AAACq////AP///wD///8A////AP///wD///8AAAAAAgAAAAEAAACOAAAA/wAA
- APsAAABRAAAAJQAAADkAAAA3AAAAQwAAAEQAAABDAAAARAAAAEEAAABNAAAA6wAAAP8AAAC5AAAADAAA
- AAn///8A////AP///wD///8A////AAAAABEAAADoAAAA/wAAAMz///8A////AAAAAAQAAAAG////AAAA
- AC0AAAD/AAAA/wAAAPsAAAD/AAAAfP///wAAAAAF////AP///wD///8A////AP///wD///8A////AP//
- /wD///8AAAAAAv///wAAAAC4AAAA/wAAAPoAAAD/AAAATAAAABQAAABLAAAAaQAAAIcAAACgAAAAuQAA
- ANAAAADkAAAA+wAAAP8AAAD/AAAA+gAAAPwAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA+gAAAOwAAADaAAAAxAAAAKUAAACCAAAAXQAAAC4AAAAmAAAA6QAAAP8AAADVAAAADP//
- /wD///8A////AP///wAAAAAFAAAAygAAAP8AAAD4AAAA/wAAAKP///8AAAAABP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AAAAAAH///8AAAAAvgAAAP8AAAD9AAAA/gAAAOEAAAD1AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA6wAA
- APsAAAD/AAAA+gAAANsAAADGAAAAmgAAAFQAAAAO////AAAAAKUAAAD/AAAA+AAAAP8AAADC////AAAA
- AAH///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAMkAAAD/AAAA/AAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/gAAAPIAAADpAAAA4AAAANQAAADxAAAA/wAAAP4AAAC3AAAAmQAA
- AJMAAACKAAAAiwAAAIsAAACLAAAAjQAAAJEAAACgAAAA/QAAAP8AAADSAAAAuwAAAM4AAADcAAAA6wAA
- APYAAAD/AAAA/wAAAP8AAAD/AAAA/QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA4gAAAHUAAADAAAAA/wAA
- APoAAAD/AAAA2P///wD///8AAAAAAf///wD///8A////AP///wD///8A////AP///wAAAAAB////AP//
- /wAAAADYAAAA/wAAAPwAAAD/AAAA4QAAAKcAAAB3AAAATgAAADIAAAAeAAAAEAAAAAz///8AAAAAogAA
- AP8AAADwAAAAEf///wD///8A////AP///wD///8A////AP///wD///8AAAAAKgAAAP8AAAD/AAAAVf//
- /wAAAAADAAAABwAAABMAAAAlAAAAOQAAAEkAAABxAAAA9AAAAP8AAADrAAAArAAAAKoAAAC4AAAA+wAA
- AP8AAAD/AAAA/wAAAP8AAAD9AAAA/wAAANkAAAAB////AAAAAAH///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8AAAAAywAAAP8AAAD8AAAA/wAAADX///8A////AP///wD///8A////AP//
- /wD///8A////AAAAAJ0AAAD/AAAA6wAAABz///8AAAAABgAAAAQAAAAEAAAABAAAAAQAAAAI////AAAA
- AE8AAAD/AAAA/wAAAFf///8AAAAABP///wD///8A////AP///wD///8AAAAABQAAAOcAAAD/AAAAvf//
- /wD///8A////AAAAAC0AAACUAAAA8AAAAP8AAAD9AAAA/QAAAP8AAADaAAAAAv///wAAAAAB////AP//
- /wD///8A////AP///wD///8A////AP///wAAAAAD////AAAAAKwAAAD/AAAA+wAAAP8AAAA/////AAAA
- AAcAAAADAAAAAwAAAAIAAAABAAAABP///wAAAACSAAAA/wAAAOwAAAAZ////AAAAAAL///8A////AP//
- /wD///8AAAAABP///wAAAABfAAAA/wAAAP8AAABH////AAAAAAQAAAABAAAAAQAAAAIAAAAF////AAAA
- ABgAAADoAAAA/wAAAML///8AAAAAAwAAAAP///8A////AAAAABUAAADMAAAA/wAAAPoAAAD/AAAA2QAA
- AAH///8AAAAAAf///wD///8A////AP///wD///8A////AP///wD///8AAAAABP///wAAAACUAAAA/wAA
- APcAAAD/AAAAbP///wAAAAAE////AP///wD///8A////AAAAAAP///8AAAAAhAAAAP8AAADsAAAAGv//
- /wAAAAAC////AP///wD///8A////AAAAAAT///8AAAAAcQAAAP8AAAD/AAAAPP///wAAAAAD////AP//
- /wD///8AAAAAAv///wAAAAAbAAAA7wAAAP8AAAC9////AAAAAAEAAAABAAAAAwAAAAb///8AAAAArAAA
- AP8AAAD5AAAA/wAAANb///8A////AAAAAAH///8A////AP///wD///8A////AP///wD///8A////AAAA
- AAT///8AAAAAbQAAAP8AAAD4AAAA/wAAAKv///8AAAAAAv///wD///8A////AP///wAAAAAE////AAAA
- AHMAAAD/AAAA9AAAACH///8AAAAAAv///wD///8A////AP///wAAAAAE////AAAAAIEAAAD/AAAA+gAA
- ACz///8AAAAAAv///wD///8A////AAAAAAL///8AAAAAHwAAAPMAAAD/AAAAsv///wAAAAAC////AAAA
- AAH///8A////AAAAAMcAAAD/AAAA+QAAAP8AAADI////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wAAAAAD////AAAAACYAAAD6AAAA/gAAAP8AAADeAAAABf///wAAAAAB////AP//
- /wD///8AAAAABP///wAAAABgAAAA/wAAAPwAAAAx////AAAAAAP///8A////AP///wD///8AAAAABP//
- /wAAAACPAAAA/wAAAPMAAAAc////AAAAAAL///8A////AP///wAAAAAD////AAAAACoAAAD3AAAA/wAA
- AKH///8AAAAAA////wAAAAAB////AAAAAAoAAADgAAAA/wAAAPkAAAD/AAAAtf///wAAAAAC////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAxgAAAP8AAAD7AAAA/wAA
- AE3///8AAAAAA////wD///8A////AAAAAAP///8AAAAASQAAAP8AAAD/AAAARf///wAAAAAEAAAAAQAA
- AAEAAAACAAAAAgAAAAb///8AAAAAnAAAAP8AAADoAAAAFf///wAAAAAFAAAAAwAAAAMAAAABAAAABP//
- /wAAAAA6AAAA/QAAAP8AAACM////AAAAAAP///8AAAAAAv///wAAAAAkAAAA+AAAAP8AAAD6AAAA/wAA
- AJr///8AAAAABP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAF////AAAA
- AGEAAAD/AAAA9wAAAP8AAAC7////AAAAAAL///8A////AP///wAAAAAD////AAAAADIAAAD/AAAA/wAA
- AFz///8AAAAABf///wD///8A////AP///wD///8A////AAAAAKEAAAD/AAAA1f///wD///8A////AP//
- /wD///8A////AAAAAAX///8AAAAAUQAAAP8AAAD/AAAAc////wAAAAAE////AAAAAAP///8AAAAASwAA
- AP8AAAD9AAAA+wAAAP8AAAB1////AAAAAAX///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8AAAAAAf///wAAAAAIAAAA3AAAAP8AAAD8AAAA/wAAAEj///8AAAAABP///wD///8AAAAABP//
- /wAAAAAXAAAA6gAAAP8AAABt////AP///wD///8AAAAADAAAABgAAAAiAAAAMAAAADMAAADEAAAA/wAA
- ANsAAABPAAAAUgAAAEgAAAA7AAAAJwAAABD///8A////AAAAAGYAAAD/AAAA/wAAAFn///8AAAAAA///
- /wAAAAAE////AAAAAIAAAAD/AAAA+gAAAP0AAAD/AAAASP///wAAAAAE////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wAAAAAF////AAAAAGIAAAD/AAAA+AAAAP8AAADYAAAAAf//
- /wAAAAAFAAAAA////wD///8AAAAACQAAAN0AAAD/AAAAzAAAAKAAAADEAAAA1QAAAOEAAADsAAAA9wAA
- AP0AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPoAAADnAAAAygAAAH0AAAC0AAAA/wAA
- AP8AAAAv////AAAAAAcAAAAB////AP///wAAAADHAAAA/wAAAPsAAAD/AAAA8gAAABv///8AAAAAAv//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAH///8AAAAAwQAA
- AP8AAAD2AAAA/wAAAJP///8A////AP///wAAAAAlAAAAhQAAANYAAAD8AAAA/gAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAAU////wD///8AAAAAA////wAAAAAwAAAA/wAAAP8AAAD7AAAA/wAA
- AMX///8AAAAAAf///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wAAAAAD////AAAAACIAAADwAAAA/wAAAPsAAAD/AAAAaAAAACMAAACnAAAA9QAAAP8AAAD/AAAA/wAA
- AP8AAAD9AAAA/wAAAP8AAAD/AAAA9wAAAPAAAADqAAAA4gAAANgAAAD6AAAA/wAAAOwAAADEAAAAxgAA
- AMwAAADdAAAA7wAAAP8AAAD/AAAA/wAAAP0AAAD/AAAA/QAAAP8AAADBAAAATf///wD///8AAAAAhwAA
- AP8AAAD7AAAA/AAAAP8AAAB9////AAAAAAX///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AAAAAAX///8AAAAAUQAAAP8AAAD9AAAA/wAAAPwAAAD3AAAA/wAA
- AP8AAAD/AAAA9wAAAN4AAAD8AAAA/wAAAH0AAAA4AAAAMQAAACUAAAAdAAAAFgAAAAYAAAAXAAAA7QAA
- AP8AAACZ////AAAAAAH///8AAAAABwAAABkAAAA4AAAAXwAAALsAAAD/AAAA/gAAAP8AAAD/AAAA/wAA
- AP8AAAC/AAAAOAAAANAAAAD/AAAA/AAAAP8AAAD+AAAAKv///wAAAAAD////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAABP///wAAAACCAAAA/wAA
- APoAAAD/AAAA/wAAAOkAAAC8AAAAdwAAACIAAAATAAAA4gAAAP8AAABN////AP///wD///8A////AP//
- /wD///8AAAAAHgAAAPMAAAD/AAAAgv///wAAAAAE////AP///wD///8A////AP///wAAAAB2AAAA/wAA
- APoAAADOAAAA+gAAAP8AAAD/AAAA/wAAAP8AAAD9AAAA/wAAAPoAAAD/AAAAr////wAAAAAC////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAA
- AAL///8AAAAACQAAAOIAAAD/AAAA+QAAAP8AAADVAAAABP///wD///8A////AAAAALEAAAD/AAAAkf//
- /wAAAAAHAAAAAgAAAAIAAAAE////AAAAAC4AAAD7AAAA/wAAAGv///8AAAAABQAAAAEAAAABAAAAAgAA
- AAP///8AAAAAyQAAAP8AAADkAAAADAAAACgAAACbAAAA+AAAAP0AAAD/AAAA/wAAAP0AAAD/AAAA9wAA
- ACb///8AAAAAA////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8AAAAABP///wAAAABJAAAA/wAAAP4AAAD6AAAA/wAAALEAAAAFAAAABv//
- /wAAAAByAAAA/wAAAMX///8A////AP///wD///8AAAAAA////wAAAAA8AAAA/wAAAP8AAABV////AAAA
- AAT///8A////AAAAAAT///8AAAAAOQAAAP4AAAD/AAAAmv///wD///8A////AAAAAE0AAAD/AAAA/gAA
- AP4AAAD8AAAA/wAAAGT///8AAAAABf///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAD////AAAAAIgAAAD/AAAA+wAA
- APoAAAD/AAAAqv///wD///8AAAAALgAAAP8AAAD4AAAAIP///wAAAAAC////AAAAAAP///8AAAAASwAA
- AP8AAAD/AAAAQf///wAAAAAD////AP///wAAAAAE////AAAAAKQAAAD/AAAA/wAAADf///8A////AAAA
- ACcAAADJAAAA/wAAAP0AAAD6AAAA/wAAAKD///8AAAAAAv///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAf//
- /wD///8AAAAAlAAAAP8AAAD9AAAA+wAAAP8AAAB7////AP///wAAAADIAAAA/wAAAF////8AAAAABf//
- /wAAAAAE////AAAAAFsAAAD/AAAA/gAAADL///8AAAAAA////wAAAAAD////AAAAACYAAAD3AAAA/wAA
- ALb///8A////AAAAAEAAAADzAAAA/wAAAPwAAAD7AAAA/wAAAKP///8A////AAAAAAH///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wAAAAAC////AP///wAAAACFAAAA/wAAAP8AAAD5AAAA/wAAAIT///8AAAAAagAA
- AP8AAACs////AAAAAAP///8AAAAABP///wAAAABkAAAA/wAAAPYAAAAj////AAAAAAL///8AAAAAA///
- /wAAAAClAAAA/wAAAPgAAAAcAAAAGwAAAKUAAAD/AAAA/wAAAPkAAAD+AAAA/wAAAKz///8A////AAAA
- AAL///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAAAB////AAAAAGQAAAD7AAAA/wAA
- APoAAAD/AAAApwAAACkAAADvAAAA9wAAABf///8AAAAABAAAAAX///8AAAAAYwAAAP8AAADxAAAAGv//
- /wAAAAAFAAAACP///wAAAABZAAAA/wAAAP8AAACXAAAAbwAAAPsAAAD/AAAA/wAAAPoAAAD/AAAA/wAA
- AIb///8A////AAAAAAP///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8AAAAAAQAA
- AAP///8AAAAAJgAAALYAAAD/AAAA/wAAAP8AAADYAAAA3AAAAP8AAABj////AP///wAAAAAD////AAAA
- AGYAAAD/AAAA5gAAAAL///8A////AP///wAAAAAnAAAA+AAAAP8AAAD4AAAA5QAAAP8AAAD/AAAA+wAA
- APoAAAD/AAAA/wAAAF////8A////AAAAAAL///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8AAAAABP///wD///8AAAAAYAAAAOwAAAD/AAAA/wAAAP8AAAD/AAAA2gAA
- AFkAAAArAAAAA////wAAAABUAAAA/wAAAOoAAABZAAAATwAAAE8AAABeAAAA2wAAAP8AAAD8AAAA/wAA
- AP8AAAD8AAAA/QAAAPsAAAD/AAAA8gAAAET///8AAAAABAAAAAH///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAADAAAAAv///wAAAAAWAAAAogAA
- AP8AAAD/AAAA/QAAAP8AAAD/AAAA/AAAAMoAAACvAAAAwQAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
- AP8AAAD8AAAA/wAAAP0AAAD7AAAA+wAAAPsAAAD/AAAA4AAAACb///8AAAAABf///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wAAAAAF////AP///wAAAABFAAAAxwAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD7AAAA/AAA
- APoAAAD6AAAA+gAAAPoAAAD8AAAA/gAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAxwAAABb///8AAAAABf//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AAAAAAIAAAAD////AP///wAAAAA7AAAAngAAANIAAADxAAAA/wAA
- AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD6AAAA5gAAANQAAACYAAAATwAA
- AAH///8AAAAABP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAQAAAAB////AP//
- /wD///8AAAAAGwAAADgAAABCAAAAUQAAAGwAAAByAAAAagAAAGAAAABZAAAASwAAAEQAAABAAAAAJgAA
- AA////8A////AP///wD///8AAAAAA////wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AAAAAAMAAAAE////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AAAAAAQAAAAEAAAAAf///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAEAAAACAAAAAwAAAAQAAAAEAAAABQAA
- AAQAAAAFAAAABQAAAAQAAAAEAAAABAAAAAQAAAADAAAAAQAAAAH///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
- /wD///8A/////////////////////////////////////////////////////////+AA///////+H/8P
- //////ngAPP/////5gAADP////+YAAADP////2AAAADf///8gAAAAC////sAAAAAF///9AAfx4Ab///o
- AiCEgA3//9AMLoSABf//oAQghUAC//+gAD6EQgL//0AAAYfAAX//QOAAAAAB//6BmAAAAAC//4FoAAAA
- AL/9Auh4AADgX/0C0IeHoaBf+gXQuIXgoF/6BdC+hCCQL/oF0IAJoJAv+gQQ/4wgkC/6D8AAA+GQL/oA
- AAAAAPAv+gAAAAAACC/+AAAAAAAAN/YAEP8IAAAX/g/wgQvhwBf6CBC9CCEwF/oL0L0LoQg3+gvQvQuh
- WD/6BdC9C6FQL/8F0IEIIVAv/QXQvx+hUC/9AtDgAGFQL/6BMAAAATAv/0HAAAABoF//QAAAAABgX/+g
- AAAUAABf/9AAfhfAAL//0BxCEEAAv//oBHoWhwF///QMKhaGAv//9gYqFQwG///7AioVAA3///yAEhIA
- G////kAaHAA3////sAIAAE/////IAAAAv/////YAAAF/////+YAAAv/////+cAA9//////+f/+P/////
- /+AAH/////////////////////////////////////////////8=
+ AAABAAEAgIUAAAEAGAD4zwAAFgAAACgAAACAAAAACgEAAAEAGAAAAAAAAAAAAEgAAABIAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqoAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoA
+ AAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAABGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAABG
+ HqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHxG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAABGHqpGHqpGHqpGHqoAAAAA
+ AAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHxGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqoAAABGHqpGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAApEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAABGHqpGHqpG
+ HqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp
+ EHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqoAAABGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHxGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqoAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAApEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAABGHqpGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp
+ EHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqoAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHxGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqlGHqlGHqlFHqhFHqhFHqhEHaVEHaVEHaVDHaRDHaRDHaRDHaNDHaND
+ HaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaND
+ HaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaRDHaRDHaREHaVEHaVEHaVFHadFHadF
+ HadFHadFHadFHadFHadEHaVEHaVEHaVDHaRDHaRDHaRDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaND
+ HaNDHaNDHaNDHaNEHaVEHaVEHaVFHqhFHqhFHqhGHqlGHqlGHqlGHqpGHqpGHqpGHqpGHqpGHqoAAAAA
+ AABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAApEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqlGHqlGHqlFHqhFHqhFHqhE
+ HaVEHaVEHaVDHaRDHaRDHaRDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaND
+ HaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaND
+ HaRDHaRDHaREHaVEHaVEHaVFHadFHadFHadFHadFHadFHadFHadEHaVEHaVEHaVDHaRDHaRDHaRDHaND
+ HaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNEHaVEHaVEHaVFHqhFHqhFHqhGHqlGHqlG
+ HqlGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqlGHqlGHqlFHqhFHqhFHqhEHaVEHaVEHaVDHaRDHaRDHaRDHaNDHaNDHaNDHaNDHaNDHaND
+ HaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaND
+ HaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaRDHaRDHaREHaVEHaVEHaVFHadFHadFHadFHadFHadFHadF
+ HadEHaVEHaVEHaVDHaRDHaRDHaRDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNE
+ HaVEHaVEHaVFHqhFHqhFHqhGHqlGHqlGHqlGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAABGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp
+ EHwpEHxGHqpGHqpGHqpGHqpGHqlGHqlGHqlGHqlEHaVEHaVEHaVBHJ1BHJ1BHJ09GpM9GpM9GpM7GY47
+ GY47GY46GY06GY06GY06GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6
+ GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GY06GY06GY07GY47GY47GY49GpM9
+ GpM9GpM/G5o/G5o/G5o/G5o/G5o/G5o/G5o9GpM9GpM9GpM7GY47GY47GY46GY06GY06GY06GYw6GYw6
+ GYw6GY06GY06GY07GZA7GZA7GZA7GZA/G5k/G5k/G5lDHaNDHaNDHaNFHqhFHqhFHqhGHqpGHqpGHqpG
+ HqpGHqoAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHxGHqpGHqpGHqpGHqpGHqlGHqlGHqlGHqlEHaVEHaVE
+ HaVBHJ1BHJ1BHJ09GpM9GpM9GpM7GY47GY47GY46GY06GY06GY06GYw6GYw6GYw6GYw6GYw6GYw6GYw6
+ GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6
+ GYw6GY06GY06GY07GY47GY47GY49GpM9GpM9GpM/G5o/G5o/G5o/G5o/G5o/G5o/G5o9GpM9GpM9GpM7
+ GY47GY47GY46GY06GY06GY06GYw6GYw6GYw6GY06GY06GY07GZA7GZA7GZA7GZA/G5k/G5k/G5lDHaND
+ HaNDHaNFHqhFHqhFHqhGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHxGHqpGHqpG
+ HqpGHqpGHqlGHqlGHqlGHqlEHaVEHaVEHaVBHJ1BHJ1BHJ09GpM9GpM9GpM7GY47GY47GY46GY06GY06
+ GY06GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6
+ GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GYw6GY06GY06GY07GY47GY47GY49GpM9GpM9GpM/G5o/G5o/
+ G5o/G5o/G5o/G5o/G5o9GpM9GpM9GpM7GY47GY47GY46GY06GY06GY06GYw6GYw6GYw6GY06GY06GY07
+ GZA7GZA7GZA7GZA/G5k/G5k/G5lDHaNDHaNDHaNFHqhFHqhFHqhGHqpGHqpGHqpGHqpGHqoAAAAAAAAA
+ AABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAApEHwpEHwpEHxGHqlGHqlGHqlEHaVEHaVEHaVEHaVAG5tAG5tAG5s4GIk4GIk4GIkw
+ FXUwFXUwFXUsE2ssE2vRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+ovFHM0Fn40Fn40Fn40Fn40Fn40Fn40Fn4vFHPRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+o4GIk4GIlBHJ1BHJ1BHJ1FHqdFHqdF
+ HqdGHqlGHqlGHqlGHqpGHqoAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHxGHqlGHqlGHqlEHaVEHaVE
+ HaVEHaVAG5tAG5tAG5s4GIk4GIk4GIkwFXUwFXUwFXXRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ovFHM0Fn40Fn40Fn40Fn40Fn40Fn40
+ Fn4vFHPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+o4GIk4GIlBHJ1BHJ1BHJ1FHqdFHqdFHqdGHqlGHqlGHqlGHqpGHqoAAAAAAABGHqpGHqpGHqpGHqoA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp
+ EHwpEHwpEHxGHqlGHqlGHqlEHaVEHaVEHaVEHaVAG5tAG5tAG5s4GIk4GIk4GIkwFXXRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+ovFHM0Fn40Fn40Fn40Fn40Fn40Fn40Fn4vFHPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+o4GIk4GIk4GIlBHJ1BHJ1BHJ1FHqdFHqdFHqdGHqlGHqlGHqlG
+ HqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHxFHqhFHqhFHqhBHJ1BHJ1BHJ1BHJ04GIk4GIk4
+ GIkuFG8uFG/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8nEV8nEV8nEV8nEV8nEV8nEV/Rx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+o4GIg4GIg4GIhCHJ9C
+ HJ9CHJ9FHqhFHqhFHqhGHqpGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHxFHqhF
+ HqhFHqhBHJ1BHJ1BHJ1BHJ04GIk4GIk4GIkuFG/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8n
+ EV8nEV8nEV8nEV8nEV/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+osE2s4GIg4GIg4GIhCHJ9CHJ9CHJ9FHqhFHqhFHqhGHqpGHqpGHqpGHqoAAAAAAABGHqpG
+ HqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAApEHwpEHwpEHwoEHpFHqhFHqhBHJ1BHJ1BHJ1BHJ04GIk4GIk4GInRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+onEV8nEV8nEV8nEV8nEV/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+osE2ssE2s4GIg4GIg4GIhCHJ9CHJ9CHJ9FHqhFHqhF
+ HqhGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoEHlEHaVEHaU9GpM9GpM9
+ GpM9GpMwFXUwFXXRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ohDk8hDk8hDk/Rx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+owFXUwFXUwFXU8
+ GpE8GpE8GpFDHaNDHaNDHaNGHqlGHqlGHqlGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp
+ EHwpEHwpEHwoEHlEHaVEHaU9GpM9GpM9GpM9GpMwFXUwFXXRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+ohDk8hDk8hDk/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+owFXUwFXUwFXU8GpE8GpE8GpFDHaNDHaNDHaNGHqlGHqlGHqlGHqpGHqpGHqoA
+ AAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoEHlEHaVEHaU9GpM9GpM9GpM9GpMwFXXRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ohDk8hDk8hDk/Rx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+owFXUwFXUwFXU8GpE8GpE8GpFDHaND
+ HaNDHaNGHqlGHqlGHqlGHqpGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoD3dD
+ HaRDHaQ7GY47GY47GY47GY7Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+ofDUvRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+otE204
+ GIg4GIg4GIg4GIhBHJ1BHJ1BHJ1FHqhFHqhFHqhGHqlGHqlGHqlGHqpGHqpGHqoAAAAAAABGHqpGHqpG
+ HqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAApEHwpEHwpEHwoD3dDHaRDHaQ7GY47GY47GY47GY7Rx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ofDUvRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+otE20tE204GIg4GIg4GIg4GIhBHJ1BHJ1BHJ1FHqhFHqhFHqhGHqlGHqlG
+ HqlGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoD3dDHaRDHaQ7GY47GY47
+ GY47GY7Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+ojD1UhDlEhDlEhDlHRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+of
+ DUvRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+otE20tE204GIg4GIg4GIg4GIhB
+ HJ1BHJ1BHJ1FHqhFHqhFHqhGHqlGHqlGHqlGHqpGHqoAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp
+ EHwpEHwpEHwoD3dDHaNDHaM6GYw6GYw6GYw6GYzRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+opEmMpEmMpEmMlEFolEFolEFohDk8hDk8hDk/Rx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ogDk0gDk3Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+o1F4E1F4E1F4E/G5k/G5k/G5k/G5lEHaVEHaVEHaVGHqlGHqlGHqlGHqpGHqpGHqpGHqpGHqoAAAAA
+ AAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoD3dDHaNDHaM6GYw6GYw6GYw6GYzRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+olEFopEmMpEmMpEmMlEFol
+ EFolEFohDk8hDk8hDk8fDUvRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ogDk0gDk3Rx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+o1F4E1F4E1F4E/G5k/G5k/G5k/G5lEHaVEHaVEHaVGHqlG
+ HqlGHqlGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoD3dD
+ HaNDHaM6GYw6GYw6GYw6GYzRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+olEFopEmMpEmMpEmPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+ogDk0gDk0gDk3Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+opEmM1F4E1F4E1F4E/
+ G5k/G5k/G5k/G5lEHaVEHaVEHaVGHqlGHqlGHqlGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAApEHwpEHwpEHwoD3dDHaNDHaM6GYw6GYw6GYw6GYzRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8nEV8sE2ssE2ssE2vRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+oiDlIjD1YjD1bRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+ovFHIvFHI7GZA7GZA7GZBDHaNDHaNDHaNDHaNGHqlGHqlGHqlGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoD3coD3dDHaM6GYw6GYw6
+ GYw6GYzRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8nEV8s
+ E2ssE2ssE2snEV/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+oiDlIjD1YjD1bRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ovFHIvFHI7GZA7GZA7GZBDHaNDHaNDHaNDHaNG
+ HqlGHqlGHqlGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp
+ EHwpEHwpEHwoD3coD3dDHaM6GYw6GYw6GYw6GYzRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+onEV8nEV8sE2ssE2ssE2snEV/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+oiDlIjD1YjD1YjD1bRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ovFHIvFHIv
+ FHI7GZA7GZA7GZBDHaNDHaNDHaNDHaNGHqlGHqlGHqlGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoD3coD3dDHaM6GYw6GYw6GYw6GYzRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8nEV8tE20tE20tE20pEmPR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8qEmUqEmUq
+ EmUlEFrRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+ooEWE1F4E1F4E1F4FAG5tAG5tAG5tFHqdFHqdFHqdFHqdGHqlGHqlGHqlGHqpG
+ HqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoD3co
+ D3dDHaM6GYw6GYw6GYw6GYzRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+onEV8nEV8tE20tE20tE20pEmPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+onEV8qEmUqEmUqEmUlEFolEFrRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ooEWEoEWE1F4E1F4E1F4FAG5tAG5tAG5tF
+ HqdFHqdFHqdFHqdGHqlGHqlGHqlGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAABGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAApEHwpEHwpEHwoD3coD3dDHaM6GYw6GYw6GYw6GYzRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8nEV8tE20tE20tE20pEmPRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8qEmUqEmUqEmUlEFolEFrRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+oo
+ EWEoEWE1F4E1F4E1F4FAG5tAG5tAG5tFHqdFHqdFHqdFHqdGHqlGHqlGHqlGHqpGHqpGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoD3coD3coD3c7GY47GY47
+ GY47GY7Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+omEFss
+ E2ssE2ssE2srE2krE2nRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+ouFG8vFHEvFHEvFHEoEWAoEWAoEWDRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+opEmUpEmUpEmU4GIc4GIc4GIdCHJ9CHJ9CHJ9FHqhFHqhFHqhFHqhG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAp
+ EHwpEHwpEHwoD3coD3coD3c7GY47GY47GY47GY7Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+omEFssE2ssE2ssE2srE2krE2nRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ouFG8vFHEvFHEvFHEoEWAoEWAoEWDRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+opEmUpEmUpEmU4GIc4GIc4
+ GIdCHJ9CHJ9CHJ9FHqhFHqhFHqhFHqhGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAABG
+ HqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoD3coD3coD3c7GY47GY47GY47GY7Rx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+osE2ssE2ssE2srE2kr
+ E2nRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ouFG8vFHEvFHEv
+ FHEoEWAoEWDRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+opEmUpEmU4GIc4GIc4GIdCHJ9CHJ9CHJ9FHqhFHqhFHqhFHqhGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqoAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwoD3co
+ D3coD3c7GY47GY47GY47GY7Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+osE2ssE2ssE2srE2krE2krE2kpEmMpEmMpEmMoEWEoEWEoEWEoEWEoEWEoEWEqEmYq
+ EmYqEmYuFG8uFG8uFG8uFG8vFHEvFHEvFHEoEWAoEWDRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+opEmUpEmU4GIc4GIc4GIdCHJ9CHJ9CHJ9F
+ HqhFHqhFHqhFHqhGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAApEHwpEHwpEHwoEHkoEHkoEHk9GpM9GpM9GpM9GpMvFHPRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ooEWEoEWEsE2osE2osE2otE20tE20t
+ E20uFG8uFG8uFG8uFHEuFHEuFHEwFXUwFXUwFXUzFnszFnszFnszFnsvFHMvFHMvFHMnEV/Rx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+ooEWE0Fn80Fn80Fn8/G5k/G5k/G5lEHaVEHaVEHaVEHaVGHqlGHqlGHqlGHqpGHqpGHqpGHqoAAAAA
+ AAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwoEHkoEHkoEHk9GpM9GpM9
+ GpM9GpMvFHPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+ooEWEoEWEsE2osE2osE2otE20tE20tE20uFG8uFG8uFG8uFHEuFHEuFHEwFXUwFXUwFXUzFnszFnsz
+ FnszFnsvFHMvFHMvFHMnEV/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ooEWE0Fn80Fn80Fn8/G5k/G5k/G5lEHaVEHaVEHaVEHaVG
+ HqlGHqlGHqlGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwoEHkoEHkoEHkkDmw9GpM9GpM9GpMvFHMvFHPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+osE2osE2osE2otE20tE20tE20uFG8uFG8uFG8u
+ FHEuFHEuFHEwFXUwFXUwFXUzFnszFnszFnszFnsvFHMvFHPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+o0Fn80
+ Fn8/G5k/G5k/G5lEHaVEHaVEHaVEHaVGHqlGHqlGHqlGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAABG
+ HqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwoEHooEHooEHomD3JAHJxAHJxAHJw2F4M2F4M2
+ F4PRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+omEFsoEWAoEWAoEWAoEWEoEWEoEWEqEmUqEmUqEmUsE2wsE2wsE2wuFHAuFHAuFHAuFHAqEmUqEmXR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+otE20tE204GIg4GIg4GIhBHJ1BHJ1BHJ1BHJ1FHqhFHqhFHqhGHqlG
+ HqlGHqkAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwoEHoo
+ EHooEHomD3JAHJxAHJxAHJw2F4M2F4M2F4PRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+ouFHAuFHAuFHAqEmUqEmXRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+otE20tE204GIg4GIg4GIhB
+ HJ1BHJ1BHJ1BHJ1FHqhFHqhFHqhGHqlGHqlGHqkAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwoEHooEHooEHomD3JAHJxAHJxAHJw2F4M2F4M2F4PRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ouFHAuFHAuFHAuFHAqEmXRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+otE204GIg4GIg4GIhBHJ1BHJ1BHJ1BHJ1FHqhFHqhFHqhGHqlGHqlGHqkAAAAAAAAA
+ AAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwoD3dDHaRD
+ HaRDHaQ8GpE8GpE8GpEvFHPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8nEV8n
+ EV8nEV/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ovFHMvFHMvFHM8GpE8GpE8GpE8GpFD
+ HaNDHaNDHaNGHqlGHqlGHqkAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwoD3dDHaRDHaRDHaQ8GpE8GpE8GpEvFHMvFHPRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+onEV8nEV8nEV/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+ovFHMvFHM8GpE8GpE8GpE8GpFDHaNDHaNDHaNGHqlGHqlGHqkAAAAAAAAAAAAAAAAAAABGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwoD3dDHaRDHaRDHaQ8GpE8GpE8
+ GpEvFHMvFHMvFHPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8nEV8nEV8nEV8nEV/Rx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ovFHMvFHM8GpE8GpE8GpE8GpFDHaNDHaNDHaNGHqlG
+ HqkAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwp
+ EHwpEHwoEHpFHqhFHqhFHqhBHJ1BHJ1BHJ04GIk4GIk4GInRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+om
+ EF0mEF0kD1ckD1fRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+ohDk/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+opEmU1
+ F4E1F4E1F4E1F4E/G5o/G5o/G5pEHaVEHaUAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwoEHpFHqhFHqhFHqhBHJ1BHJ1BHJ04GIk4GIk4GIku
+ FG/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+omEF0mEF0mEF0kD1ckD1fRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ohDk/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+opEmU1F4E1F4E1F4E1F4E/G5o/G5o/G5pEHaVEHaUAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwoEHpFHqhF
+ HqhFHqhBHJ1BHJ1BHJ04GIk4GIk4GIkuFG8uFG8uFG/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+omEF0mEF0mEF3Rx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ohDk8hDk8hDk/Rx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+o1F4E1F4E1F4E/
+ G5o/G5o/G5pEHaUAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqlGHqlEHaVEHaVEHaVAG5tAG5tAG5s4GIk4GIk4GIkvFHPR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+ooEWAoEWAoEWAoEWDRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+onEV8nEV8nEV/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+ovFHMvFHMvFHM6GY46GY46GY5CHKAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqlGHqlEHaVEHaVE
+ HaVAG5tAG5tAG5s4GIk4GIk4GIkvFHMvFHPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ooEWAoEWAoEWAoEWAoEWDRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8nEV8nEV/Rx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ovFHMvFHMvFHM6GY46GY46GY5CHKAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwp
+ EHwpEHwpEHwpEHxGHqlGHqlEHaVEHaVEHaVAG5tAG5tAG5s4GIk4GIk4GIkvFHMvFHMvFHMpEmUpEmXR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ooEWAoEWAoEWAoEWAo
+ EWDRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+onEV8n
+ EV8nEV8nEV8nEV/Rx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+ovFHMvFHM6GY46GY46GY4AAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqlGHqlGHqlEHaVEHaVEHaVB
+ HJ1BHJ1BHJ08GpE8GpE8GpE2F4M2F4M2F4PRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+oxFXcxFXcxFXcvFHPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+o0Fn40Fn40Fn40Fn40Fn40Fn40Fn7Rx+rRx+rRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+oxFXc5GIo5GIo5GIoAAAAAAAAAAAAAAAAAAAAA
+ AABGHqlGHqlGHqlGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHxG
+ HqpGHqpGHqlGHqlGHqlEHaVEHaVEHaVBHJ1BHJ1BHJ08GpE8GpE8GpE2F4M2F4M2F4MvFHMvFHMvFHMs
+ E2ssE2vRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ovFHExFXcxFXcxFXfRx+rRx+rRx+rRx+rRx+rR
+ x+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+ovFHM0Fn40Fn40Fn40Fn40Fn40Fn40
+ Fn4vFHPRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+rRx+o5
+ GIo5GIo5GIoAAAAAAAAAAAAAAAAAAAAAAABGHqlGHqlGHqlGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqlGHqlGHqlEHaVEHaVEHaVBHJ1BHJ1BHJ08GpE8
+ GpE8GpE2F4M2F4M2F4MvFHMvFHMvFHMsE2ssE2ssE2srE2krE2krE2ksE2ssE2ssE2svFHEvFHEvFHEx
+ FXcxFXcxFXcvFHMvFHMvFHMtE20tE20tE20tE20rE2krE2krE2krE2krE2krE2ksE2ssE2ssE2svFHMv
+ FHMvFHM0Fn40Fn40Fn40Fn40Fn40Fn40Fn4vFHMvFHMvFHMsE2ssE2ssE2srE2krE2krE2krE2krE2kr
+ E2ktE20tE20tE20xFXcxFXcxFXcxFXc5GIo5GIo5GIoAAAAAAAAAAAAAAAAAAAAAAABGHqlGHqlGHqlG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqlGHqlG
+ HqlEHaVEHaVEHaVBHJ1BHJ1BHJ08GpE8GpE8GpE2F4M2F4M2F4MvFHMvFHMvFHMsE2ssE2ssE2srE2kr
+ E2krE2ksE2ssE2ssE2svFHEvFHEvFHExFXcxFXcxFXcvFHMvFHMvFHMtE20tE20tE20tE20rE2krE2kr
+ E2krE2krE2krE2ksE2ssE2ssE2svFHMvFHMvFHM0Fn40Fn40Fn40Fn40Fn40Fn40Fn4vFHMvFHMvFHMs
+ E2ssE2ssE2srE2krE2krE2krE2krE2krE2ktE20tE20tE20xFXcxFXcxFXcxFXc5GIo5GIo5GIoAAAAA
+ AAAAAAAAAAAAAAAAAABGHqlGHqlGHqlGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqlGHqlGHqlFHqhFHqhFHqhDHaRDHaRDHaRAHJxAHJxA
+ HJw9GpM9GpM9GpM7GY47GY47GY46GY06GY06GY07GY47GY47GY48GpI8GpI8GpI9GpU9GpU9GpU8GpI8
+ GpI8GpI7GY47GY47GY47GY46GY06GY06GY06GY06GY06GY07GY47GY47GY49GpM9GpM9GpM/G5o/G5o/
+ G5o/G5o/G5o/G5o/G5o9GpM9GpM9GpM7GY47GY47GY46GY06GY06GY06GY06GY06GY06GY46GY46GY48
+ GpE8GpE8GpE8GpE/G5k/G5k/G5kAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqlGHqlGHqlF
+ HqhFHqhFHqhDHaRDHaRDHaRAHJxAHJxAHJw9GpM9GpM9GpM7GY47GY47GY46GY06GY06GY07GY47GY47
+ GY48GpI8GpI8GpI9GpU9GpU9GpU8GpI8GpI8GpI7GY47GY47GY47GY46GY06GY06GY06GY06GY06GY07
+ GY47GY47GY49GpM9GpM9GpM/G5o/G5o/G5o/G5o/G5o/G5o/G5o9GpM9GpM9GpM7GY47GY47GY46GY06
+ GY06GY06GY06GY06GY06GY46GY46GY48GpE8GpE8GpE8GpE/G5k/G5kAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHxGHqpGHqpGHqpGHqpGHqlGHqlGHqlFHqhFHqhFHqhDHaRDHaRDHaRAHJxAHJxAHJw9GpM9GpM9GpM7
+ GY47GY47GY46GY06GY06GY07GY47GY47GY48GpI8GpI8GpI9GpU9GpU9GpU8GpI8GpI8GpI7GY47GY47
+ GY47GY46GY06GY06GY06GY06GY06GY07GY47GY47GY49GpM9GpM9GpM/G5o/G5o/G5o/G5o/G5o/G5o/
+ G5o9GpM9GpM9GpM7GY47GY47GY46GY06GY06GY06GY06GY06GY06GY46GY46GY48GpE8GpE8GpE8GpE/
+ G5k/G5kAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqlGHqlGHqlGHqlG
+ HqlGHqlFHqhFHqhFHqhEHaVEHaVEHaVDHaRDHaRDHaRDHaNDHaNDHaNDHaRDHaRDHaREHaREHaREHaRE
+ HaVEHaVEHaVEHaREHaREHaRDHaRDHaRDHaRDHaRDHaNDHaNDHaNDHaNDHaNDHaNDHaRDHaRDHaREHaVE
+ HaVEHaVFHadFHadFHadFHadFHadFHadFHadEHaVEHaVEHaVDHaRDHaRDHaRDHaNDHaNDHaNDHaNDHaND
+ HaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNEHaVEHaUAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqlGHqlGHqlGHqlGHqlGHqlFHqhFHqhFHqhEHaVEHaVEHaVDHaRDHaRDHaRDHaND
+ HaNDHaNDHaRDHaRDHaREHaREHaREHaREHaVEHaVEHaVEHaREHaREHaRDHaRDHaRDHaRDHaRDHaNDHaND
+ HaNDHaNDHaNDHaNDHaRDHaRDHaREHaVEHaVEHaVFHadFHadFHadFHadFHadFHadFHadEHaVEHaVEHaVD
+ HaRDHaRDHaRDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNEHaUAAAAAAAAAAAAA
+ AAAAAAAAAAAAAABGHqlGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqlGHqlGHqlGHqlGHqlGHqlFHqhFHqhF
+ HqhEHaVEHaVEHaVDHaRDHaRDHaRDHaNDHaNDHaNDHaRDHaRDHaREHaREHaREHaREHaVEHaVEHaVEHaRE
+ HaREHaRDHaRDHaRDHaRDHaRDHaNDHaNDHaNDHaNDHaNDHaNDHaRDHaRDHaREHaVEHaVEHaVFHadFHadF
+ HadFHadFHadFHadFHadEHaVEHaVEHaVDHaRDHaRDHaRDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaNDHaND
+ HaNDHaNDHaNDHaNEHaUAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqlGHqpGHqpGHqoAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqkAAAAAAAAAAAAAAAAAAAAAAAAAAABG
+ HqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqkA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlGHqlG
+ HqlGHqlGHqlGHqlGHqlGHqlGHqlGHqkAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqoA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAA
+ AAAAAAAAAABGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpG
+ HqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqoAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHxGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqoA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHxGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHxGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHxGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABG
+ HqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHxGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqoA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApEHwpEHwpEHwpEHwpEHwpEHwpEHwp
+ EHwpEHwpEHwpEHwpEHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAApEHwpEHwpEHwpEHwpEHwpEHwpEHwpEHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpG
+ HqoAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqoAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpG
+ HqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqpGHqoAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGHqpGHqpGHqoA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAAAAAAAAAACAAB//////////////////gAAAAAP//////////////4AAAAAAAAAAAA//////
+ //+AAAAAAAAAAAAAAAD/////gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAA
+ AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
+ AAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAA4AA
+ AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAA
+ AAOAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAA
+ AAAAAAAHgAAAAAAAAAAAAAAAAAAAB4AAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAPgAAAAAAA
+ AAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAH4AA
+ AAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAA
+ AB+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH4AAAAAAAAAAAAAAAAAAAB+AAAAAAAAAAAAA
+ AAAAAAAfgAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAD+AAAAAAAAAAAAAAAAAAAA/gAAAAAAA
+ AAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAH+AAAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAAf4AA
+ AAAAAAAAAAAAAAAAAH+AAAAAAAAAAAAAAAAAAAB/gAAAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAA
+ AP+AAAAAAAAAAAAAAAAAAAD/gAAAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAP+AAAAAAAAAAAAA
+ AAAAAAD/gAAAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAP+AAAAAAAAAAAAAAAAAAAD/gAAAAAAA
+ AAAAAAAAAAAB/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/gAAAAAAAAAAAAAAAAAAD/4AA
+ AAAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAA
+ A/+AAAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAH/4AAAAAAAAAAAAAAAAAAB/+AAAAAAAAAAAAA
+ AAAAAAf/gAAAAAAAAAAAAAAAAAAH/4AAAAAAAAAAAAAAAAAAB/+AAAAAAAAAAAAAAAAAAAf/gAAAAAAA
+ AAAAAAAAAAAH/4AAAAAAAAAAAAAAAAAAB/+AAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAP/4AA
+ AAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAA//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAA
+ H/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAA
+ AAAAAB//gAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB//gAAAAAAA
+ AAAAAAAAAAA//4AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAA//4AA
+ AAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAH//gAAAAAAAAAAAAAAAAAB//4AAAAAAAAAAAAAAAAAA
+ f/+AAAAAAAAAAAAAAAAAAH//gAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAA
+ AAAAAP//gAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAP//gAAAAAAA
+ AAAAAAAAAAD//4AAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//gAAAAAAAAAAAAAAAAAH//4AA
+ AAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//gAAAAAAAAAAAAAAAAAH//4AAAAAAAAAAAAAAAAAD
+ //+AAAAAAAAAAAAAAAAAA///AAAAAAAAAAAAAAAAAAP//wAAAAAAAAAAAAAAAAAD//8AAAAAAAAAAAAA
+ AAAAB///AAAAAAAAAAAAAAAAAB///wAAAAAAAAAAAAAAAAH///8AAAAAAAAAAAAAAAH/////AAAAAAAA
+ AAAAAAAf/////wAAAAAAAAAAAAAA//////8AAAAAAAAAAAAA////////AAAAAAAAAAAAD////////wAA
+ AAAAAAAAAH////////8AAAAAAAAAAP//////////AAAAAAAAAAf//////////wAAAAAAAAB/////////
+ //8AAAAAAAB/////////////AAAAAAAH/////////////wAAAAAAf/////////////8AAAAAP///////
+ ////////AAAAA////////////////wAAAD////////////////8AAD//////////////////AAP/////
+ /////////////wA///////////////////8f////////////////////
+
+ Global Indexer
+
+
+ KonfigurationToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ AdministrationToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ GlobalIndexerEinstellungenToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ HotkeyEisntellungenToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ToolStripSeparator1
+
+
+ System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ GrundeinstellungenToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ FrmHotkeyAddToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ HistoryIndexierteDateienToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ InfoToolStripMenuItem
+
+
+ System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tslblFW
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ tslblCultureInfo
+
+
+ System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ TimerFolderWatch
+
+
+ System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ TimerClose3Minutes
+
+
+ System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ NotifyIcon1
+
+
+ System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ TimerCheckDroppedFiles
+
+
+ System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ OpenFileDialog1
+
+
+ System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ LabelMachine
+
+
+ DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v15.1, Version=15.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ LabelUser
+
+
+ DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v15.1, Version=15.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ LabelLoggedIn
+
+
+ DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v15.1, Version=15.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ LabelVersion
+
+
+ DevExpress.XtraBars.BarStaticItem, DevExpress.XtraBars.v15.1, Version=15.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ RibbonMiniToolbar1
+
+
+ DevExpress.XtraBars.Ribbon.RibbonMiniToolbar, DevExpress.XtraBars.v15.1, Version=15.1.7.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+
+
+ MyDataset
+
+
+ Global_Indexer.MyDataset, MyDataset.Designer.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ TBHOTKEY_USER_PROFILEBindingSource
+
+
+ System.Windows.Forms.BindingSource, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ TBHOTKEY_USER_PROFILETableAdapter
+
+
+ Global_Indexer.MyDatasetTableAdapters.TBHOTKEY_USER_PROFILETableAdapter, MyDataset.Designer.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ TableAdapterManager
+
+
+ Global_Indexer.MyDatasetTableAdapters.TableAdapterManager, MyDataset.Designer.vb, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
+
+
+ frmStart
+
+
+ System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
\ No newline at end of file
diff --git a/Global_Indexer/frmStart.vb b/Global_Indexer/frmStart.vb
index 116f8c4..8dfa583 100644
--- a/Global_Indexer/frmStart.vb
+++ b/Global_Indexer/frmStart.vb
@@ -3,35 +3,165 @@ Imports Microsoft.Office.Interop
Imports Independentsoft
Imports DLLLicenseManager
Imports System.Text
+Imports System.Globalization
+Imports System.Threading
+Imports System.Runtime.InteropServices
+
Public Class frmStart
- Dim sql_User_Login As String = "UPDATE TBDD_USER SET LOGGED_IN = @LogInOut, LOGGED_WHERE = '@ANGEMELDETWO' WHERE (LOWER(USERNAME) = LOWER('@user'))"
- Dim sql_UserID As String = "SELECT GUID FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('@user'))"
- Private USER_GUID
- Private ISUserAdmin As Boolean = False
Public _lizenzManager As ClassLicenseManager
Dim loaded As Boolean = False
Dim WithEvents HotKey As New clsHotkey(Me)
+ Public Sub SetLanguage()
+ Dim de = System.Globalization.CultureInfo.CurrentUICulture
+ 'Neue Sprache festlegen und entfernen aller Controls
- Private Sub frmMain_DragDrop(sender As Object, e As DragEventArgs) Handles MyBase.DragDrop
- ClassDragDrop.Drop_File(e)
- Check_Dropped_Files()
- End Sub
- Private Sub ReceiveHotKey(ByVal HotKeyID As String) Handles HotKey.HotKeyPressed
- Me.Cursor = Cursors.WaitCursor
- Me.NotifyIcon1.Visible = True
- NotifyIcon1.ShowBalloonTip(2000, "Hotkey", "Hotkey wird ausgeführt!", ToolTipIcon.Info)
+
+ Thread.CurrentThread.CurrentUICulture = New CultureInfo(USER_LANGUAGE)
+ Me.Controls.Clear()
+
+ 'Me.Events.Dispose()
+
+ InitializeComponent()
+ tslblCultureInfo.Text = "Culture/Language: " & USER_LANGUAGE
Try
- 'Die vorherige Tempfile löschen
- If CURRENT_WD_TEMPSEARCH <> "" Then
- If My.Computer.FileSystem.FileExists(CURRENT_WD_TEMPSEARCH) Then
- Try
- My.Computer.FileSystem.DeleteFile(CURRENT_WD_TEMPSEARCH)
- Catch ex As Exception
+ Dim Ic As Icon = New Icon(Application.StartupPath & "\DD_Icons_ICO_GLOBIX_128.ico")
+ If Not IsNothing(Ic) Then
+ Me.Icon = Ic
+ End If
- End Try
+ Catch ex As Exception
+ ClassLogger.Add(">> Icon file could not be read: " & ex.Message, False)
+ End Try
+ 'Me.i()
+ 'Wiederherstellen der Fensterposition
+ 'Me.Size = sz
+ 'Me.Location = pt
+ End Sub
+
+ Private Const mSnapOffset As Integer = 35
+ Private Const WM_WINDOWPOSCHANGING As Integer = &H46
+
+ _
+ Public Structure WINDOWPOS
+ Public hwnd As IntPtr
+ Public hwndInsertAfter As IntPtr
+ Public x As Integer
+ Public y As Integer
+ Public cx As Integer
+ Public cy As Integer
+ Public flags As Integer
+ End Structure
+
+ Protected Overrides Sub WndProc(ByRef m As Message)
+ ' Listen for operating system messages
+ Select Case m.Msg
+ Case WM_WINDOWPOSCHANGING
+ SnapToDesktopBorder(Me, m.LParam, 0)
+ End Select
+
+ MyBase.WndProc(m)
+ End Sub
+ Public Shared Sub SnapToDesktopBorder(ByVal clientForm _
+ As Form, ByVal LParam As IntPtr, ByVal widthAdjustment As Integer)
+ If clientForm Is Nothing Then
+ ' Satisfies rule: Validate parameters
+ Throw New ArgumentNullException("clientForm")
+ End If
+
+ ' Snap client to the top, left, bottom or right desktop border
+ ' as the form is moved near that border.
+
+ Try
+ ' Marshal the LPARAM value which is a WINDOWPOS struct
+ Dim NewPosition As New WINDOWPOS
+ NewPosition = CType(Runtime.InteropServices.Marshal.PtrToStructure( _
+ LParam, GetType(WINDOWPOS)), WINDOWPOS)
+
+ If NewPosition.y = 0 OrElse NewPosition.x = 0 Then
+ Return ' Nothing to do!
+ End If
+
+ ' Adjust the client size for borders and caption bar
+ Dim ClientRect As Rectangle = _
+ clientForm.RectangleToScreen(clientForm.ClientRectangle)
+ ClientRect.Width += _
+ SystemInformation.FrameBorderSize.Width - widthAdjustment
+ ClientRect.Height += (SystemInformation.FrameBorderSize.Height + _
+ SystemInformation.CaptionHeight)
+
+ ' Now get the screen working area (without taskbar)
+ Dim WorkingRect As Rectangle = _
+ Screen.GetWorkingArea(clientForm.ClientRectangle)
+
+ ' Left border
+ If NewPosition.x >= WorkingRect.X - mSnapOffset AndAlso _
+ NewPosition.x <= WorkingRect.X + mSnapOffset Then
+ NewPosition.x = WorkingRect.X
+ End If
+
+ ' Get screen bounds and taskbar height
+ ' (when taskbar is horizontal)
+ Dim ScreenRect As Rectangle = _
+ Screen.GetBounds(Screen.PrimaryScreen.Bounds)
+ Dim TaskbarHeight As Integer = _
+ ScreenRect.Height - WorkingRect.Height
+
+ ' Top border (check if taskbar is on top
+ ' or bottom via WorkingRect.Y)
+ If NewPosition.y >= -mSnapOffset AndAlso _
+ (WorkingRect.Y > 0 AndAlso NewPosition.y <= _
+ (TaskbarHeight + mSnapOffset)) OrElse _
+ (WorkingRect.Y <= 0 AndAlso NewPosition.y <= _
+ (mSnapOffset)) Then
+ If TaskbarHeight > 0 Then
+ NewPosition.y = WorkingRect.Y ' Horizontal Taskbar
+ Else
+ NewPosition.y = 0 ' Vertical Taskbar
End If
End If
+
+ ' Right border
+ If NewPosition.x + ClientRect.Width <= _
+ WorkingRect.Right + mSnapOffset AndAlso _
+ NewPosition.x + ClientRect.Width >= _
+ WorkingRect.Right - mSnapOffset Then
+ NewPosition.x = WorkingRect.Right - (ClientRect.Width + _
+ SystemInformation.FrameBorderSize.Width)
+ End If
+
+ ' Bottom border
+ If NewPosition.y + ClientRect.Height <= _
+ WorkingRect.Bottom + mSnapOffset AndAlso _
+ NewPosition.y + ClientRect.Height >= _
+ WorkingRect.Bottom - mSnapOffset Then
+ NewPosition.y = WorkingRect.Bottom - (ClientRect.Height + _
+ SystemInformation.FrameBorderSize.Height)
+ End If
+
+ ' Marshal it back
+ Runtime.InteropServices.Marshal.StructureToPtr(NewPosition, _
+ LParam, True)
+ Catch ex As ArgumentException
+ End Try
+ End Sub
+
+ Private Sub frmMain_DragDrop(sender As Object, e As DragEventArgs) Handles MyBase.DragDrop
+ If ClassDragDrop.Drop_File(e) = True Then
+ TimerCheckDroppedFiles.Start()
+ End If
+ End Sub
+ Private Sub ReceiveHotKey(ByVal HotKeyID As String) Handles HotKey.HotKeyPressed
+ Dim CapTxt As String = ClassHotkey_Windream.GetCaption()
+ CURRENT_FOCUSES_WINDOWNAME = CapTxt
+ If CURRENT_FOCUSES_WINDOWNAME.ToUpper.StartsWith("GLOB") Then Exit Sub
+ If LogErrorsOnly = False Then ClassLogger.Add(" ...Focused window result: '" & CURRENT_FOCUSES_WINDOWNAME & "'", False)
+
+ Me.Cursor = Cursors.WaitCursor
+ Me.NotifyIcon1.Visible = True
+ NotifyIcon1.ShowBalloonTip(1000, "Hotkey", "Hotkey wird ausgeführt!", ToolTipIcon.Info)
+ Try
+ Dim _focusedWindowfound As Boolean = False
Dim HK1 As String
Dim HK2 As String
'Die Hotkeys definieren
@@ -45,11 +175,25 @@ Public Class frmStart
Dim DTHOTKEY_PROFILES As DataTable = ClassDatabase.Return_Datatable(SQL, True)
Dim Result As String = ""
If Not IsNothing(DTHOTKEY_PROFILES) Then
+
+ 'Jedes Hotkeyprofil des Users durchlaufen um zu überprüfen ob das CURRENT_FOCUSES_WINDOWNAME = dem konfiguriertem ist
For Each row As DataRow In DTHOTKEY_PROFILES.Rows
- Result = ClassHotkey_Windream.RUN_WD_SEARCH(row.Item("GUID"))
+ SQL = "select WINDOW_NAME from TBHOTKEY_PROFILE where GUID = " & row.Item("HKPROFILE_ID")
+ 'Konfigurierte windows-String speichern
+ Dim windowconfigured = ClassDatabase.Execute_Scalar(SQL, MyConnectionString, True)
+ 'Focuses window enthalten??
+ If CURRENT_FOCUSES_WINDOWNAME.ToUpper.Contains(windowconfigured.ToString.ToUpper) Or CURRENT_FOCUSES_WINDOWNAME.ToUpper = windowconfigured.ToString.ToUpper Then
+ 'Ja - also die windream-Suche ausführen
+ _focusedWindowfound = True
+ Result = ClassHotkey_Windream.RUN_WD_SEARCH(row.Item("GUID"))
+ End If
Next
+ If _focusedWindowfound = False Then
+ Result = "Focused Window not configured in hotkey"
+ End If
End If
+
If Result = "" Then
Me.NotifyIcon1.Visible = False
Else
@@ -80,50 +224,54 @@ Public Class frmStart
e.Effect = DragDropEffects.None
End If
End Sub
-
- Sub Check_Dropped_Files()
- 'Try
- Me.TopMost = False
- ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE WORKED = 1 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
- CURRENT_ABBRUCH = 0
- Dim i As Integer
- For Each Str As Object In ClassDragDrop.files_dropped
- If Not Str Is Nothing Then
- If LogErrorsOnly = False Then ClassLogger.Add(">> Check Drop-File: " & Str.ToString, False)
- Dim handleType As String = Str.Substring(0, Str.LastIndexOf("@") + 1)
- Dim filename As String = Str.Substring(Str.LastIndexOf("@") + 1)
- If ClassIndexFunctions.FileExistsinDropTable(filename) = False Then
- ClassFilehandle.Decide_FileHandle(filename, handleType)
- i += 1
- Else
- Console.WriteLine("File gibt es bereits")
- End If
- End If
- Next
- Me.TopMost = True
- Dim sql As String = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')"
- DTACTUAL_FILES = Nothing
- DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True)
- ABORT_INDEXING = False
- If DTACTUAL_FILES.Rows.Count > 1 Then
- frmIndexFileList.ShowDialog()
+ Sub Check_Dropped_Files()
+ Try
+ Me.TopMost = False
+ ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE WORKED = 1 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')")
+ CURRENT_ABBRUCH = 0
+ Dim i As Integer
+ For Each Str As Object In ClassDragDrop.files_dropped
+ If Not Str Is Nothing Then
+ If LogErrorsOnly = False Then ClassLogger.Add(">> Check Drop-File: " & Str.ToString, False)
+ Dim handleType As String = Str.Substring(0, Str.LastIndexOf("@") + 1)
+ Dim filename As String = Str.Substring(Str.LastIndexOf("@") + 1)
+ If ClassIndexFunctions.FileExistsinDropTable(filename) = False Then
+ ClassFilehandle.Decide_FileHandle(filename, handleType)
+ i += 1
+ Else
+ Console.WriteLine("File gibt es bereits")
+ End If
+
+ End If
+ Next
+
+ Dim sql As String = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')"
DTACTUAL_FILES = Nothing
DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True)
- End If
- For Each Filerow As DataRow In DTACTUAL_FILES.Rows
- Dim filestring As String = Filerow.Item("FILENAME2WORK")
- CURRENT_FILENAME = Filerow.Item("FILENAME2WORK")
- CURRENT_WORKFILE_GUID = Filerow.Item(0)
- CURRENT_WORKFILE = Filerow.Item("FILENAME2WORK")
- If LogErrorsOnly = False Then ClassLogger.Add(">> CURRENT_WORKFILE: " & CURRENT_WORKFILE, False)
- If File.Exists(CURRENT_WORKFILE) Then
- Open_IndexDialog()
- Else
- Console.WriteLine("File existiert nicht mehr!")
+ ABORT_INDEXING = False
+ If DTACTUAL_FILES.Rows.Count > 1 Then
+ frmIndexFileList.ShowDialog()
+ DTACTUAL_FILES = Nothing
+ DTACTUAL_FILES = ClassDatabase.Return_Datatable(sql, True)
End If
+ For Each Filerow As DataRow In DTACTUAL_FILES.Rows
+ Dim filestring As String = Filerow.Item("FILENAME2WORK")
+ CURRENT_FILENAME = Filerow.Item("FILENAME2WORK")
+ CURRENT_WORKFILE_GUID = Filerow.Item(0)
+ CURRENT_WORKFILE = Filerow.Item("FILENAME2WORK")
+ If LogErrorsOnly = False Then ClassLogger.Add(">> CURRENT_WORKFILE: " & CURRENT_WORKFILE, False)
+ If File.Exists(CURRENT_WORKFILE) = True Then
+ Open_IndexDialog()
+ End If
- Next
+ Next
+ Catch ex As Exception
+ If Not ex.Message.StartsWith("Die Auflistung wurde geändert") Then
+ MsgBox("Unexpected Error in Check_Dropped_Files:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ End If
+ End Try
+ Me.TopMost = True
End Sub
Sub Open_IndexDialog()
@@ -136,33 +284,61 @@ Public Class frmStart
If File.Exists(CURRENT_FILENAME) Then
Select Case CURRENT_ABBRUCH
Case 1
- MsgBox("Bitte indexieren Sie die Datei vollständig!" & vbNewLine & "(Abbruch 1 des Indexierungsvorgangs)", MsgBoxStyle.Information)
+ If USER_LANGUAGE = "de-DE" Then
+ MsgBox("Bitte indexieren Sie die Datei vollständig!" & vbNewLine & "(Abbruch 1 des Indexierungsvorgangs)", MsgBoxStyle.Information)
+ Else
+ MsgBox("Please Index file completely" & vbNewLine & "(Abort 1 of Indexdialog)", MsgBoxStyle.Information)
+ End If
+
Open_IndexDialog()
Case 2
Dim result As MsgBoxResult
- result = MessageBox.Show("Sie brechen nun zum zweiten Mal den Indexierungsvorgang ab!" & vbNewLine & "Wollen Sie die Indexierung aller Dateien abbrechen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
+ If USER_LANGUAGE = "de-DE" Then
+ result = MessageBox.Show("Sie brechen nun zum zweiten Mal den Indexierungsvorgang ab!" & vbNewLine & "Wollen Sie die Indexierung aller Dateien abbrechen?", "Bestätigung erforderlich:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
+ Else
+ result = MessageBox.Show("You abort the indexdialog for the 2nd time!" & vbNewLine & "Do You want to abort all file-indexing?", "Confirmation needed:", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
+ End If
+
If result = MsgBoxResult.Yes Then
Dim containsfw_file As Boolean = False
Try
ABORT_INDEXING = True
- For Each Filerow As DataRow In DTACTUAL_FILES.Rows
+ Dim sql As String = "SELECT * FROM TBGI_FILES_USER WHERE WORKED = 0 AND UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')"
+
+ Dim DT As DataTable = ClassDatabase.Return_Datatable(sql, True)
+
+
+ Dim anz = DT.Rows.Count
+ For Each Filerow As DataRow In DT.Rows
Dim filestring As String = Filerow.Item("FILENAME2WORK")
Dim handletype As String = Filerow.Item("HANDLE_TYPE")
If handletype = "@MSGONLY@" Or handletype = "@ATTMNTEXTRACTED@" Then
- System.IO.File.Delete(filestring)
+ Try
+ System.IO.File.Delete(filestring)
+ Catch ex As Exception
+
+ End Try
+
ElseIf handletype.StartsWith("@FW") Then
containsfw_file = True
End If
Next
'Zuerst die Daten des Ablaufs löschen
- ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True)
- If containsfw_file = True Then
- MsgBox("Der Indexierungsprozess beinhaltete (auch) Dateien per Folderwatch!" & vbNewLine & "Diese Dateien wurden nicht gelöscht und verbleiben im Folderwatch-Verzeichnis!" & vbNewLine & "Bitte verschieben Sie die Dateien ggfls.", MsgBoxStyle.Information, "Achtung - Hinweis:")
+ If ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True) = True Then
+ If containsfw_file = True Then
+ If USER_LANGUAGE = "de-DE" Then
+ MsgBox("Der Indexierungsprozess beinhaltete (auch) Dateien per Folderwatch!" & vbNewLine & "Diese Dateien wurden nicht gelöscht und verbleiben im Folderwatch-Verzeichnis!" & vbNewLine & "Bitte verschieben Sie die Dateien ggfls.", MsgBoxStyle.Information, "Achtung - Hinweis:")
+ Else
+ MsgBox("The Indexingprocess contained (also) files from folderwatch!" & vbNewLine & "These files weren't deleted and will stay in the folderwatch-folder!" & vbNewLine & "Please move these files manually.", MsgBoxStyle.Information, "Achtung - Hinweis:")
+ End If
+
+ End If
End If
+
Catch ex As Exception
- MsgBox("Fehler bei Abbruch der Indexierung: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ MsgBox("Unexpected Error in Abort Indexing: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
@@ -174,215 +350,135 @@ Public Class frmStart
End Select
End If
Catch ex As Exception
- MsgBox("Fehler bei Aufruf Indexdialog: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ MsgBox("Unexpected Error in Call Indexdialog: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
Me.Visible = True
End Try
End Sub
Private Sub frmStart_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
- Try
- ClassLogger.Add("", False)
- If START_INCOMPLETE = False Then
- Dim sql = sql_User_Login
- sql = sql.Replace("@LogInOut", 0)
- sql = sql.Replace("@ANGEMELDETWO", "''")
- sql = sql.Replace("@user", Environment.UserName)
- ClassDatabase.Execute_non_Query(sql)
- If Not USER_GUID Is Nothing Then
- sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE = 'Global-Indexer'"
- ClassDatabase.Execute_non_Query(sql)
- End If
- End If
- ClassWindowLocation.SaveFormLocationSize(Me)
- Catch ex As Exception
-
- End Try
- If Not USER_GUID Is Nothing Then
- Unregister_Hotkeys()
- End If
-
-
- End Sub
- Sub Refresh_Licence()
- Try
- Me._lizenzManager = New ClassLicenseManager("#DigitalData35452!#", "")
- Dim sql As String = "SELECT LICENSEKEY FROM TBGI_CONFIGURATION WHERE GUID = 1"
-
- Dim lic As String = ClassDatabase.Execute_Scalar(sql, MyConnectionString)
- Dim licString = Me._lizenzManager.DecodeLicenseKey(lic)
- Dim split() = licString.ToString.Split("#")
-
- If lic <> "" Then
- License_Anzahl = split(0)
- Else
- License_Anzahl = 0
- End If
- If CDate(split(1)) < CDate(Now.ToShortDateString) Then
- MsgBox("Ihre Lizenz ist abgelaufen!" & vbNewLine & "Letztes Gültigkeitsdatum: " & split(1) & vbNewLine & "Bitte setzen Sie sich mit Digital Data in Verbindung", MsgBoxStyle.Exclamation)
- License_Expired = True
- License_Anzahl = 0
- End If
-
- 'tslblLicenses.Text = "Anzahl Lizenzen: " & licenseanzahl
- LicenseProfiles = split(2)
+ If My.Settings.AppTerminate = False Then
Try
- LicenseHotKey = split(3)
- Catch ex As Exception
- LicenseHotKey = 0
- End Try
- Catch ex As Exception
- MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Fehler bei Licensemanager:")
- End Try
- End Sub
- Private Sub frmStart_Load(sender As Object, e As EventArgs) Handles Me.Load
- 'Me.TransparencyKey = Color.Transparent
- ' Me.BackColor = Color.Transparent
- Try
- Me.Opacity = 30
- ClassWindowLocation.LoadFormLocationSize(Me)
- Dim sql = sql_UserID
- sql = sql.Replace("@user", Environment.UserName)
- ClassLogger.Init("", "log_" & Environment.UserName)
- ClassLogger.Add(">> Programmstart: " & Now, False)
- ClassLogger.Add(">> Username: " & Environment.UserName, False)
- LoadMyConfig()
- If LoadFileExclusion() = False Then
- MsgBox("Dies Ausschlusskriterien für Dateien in Folderwatch konnten nicht angelegt werden!", MsgBoxStyle.Information)
- End If
- If MyConnectionString = String.Empty Then
- frmConfig_Basic.ShowDialog()
- End If
- If ClassDatabase.Init() = False Then
- ERROR_STATE = "FAILED CONNECTION"
- MsgBox("Es konnte keine Datenbankverbindung aufgebaut werden!" & vbNewLine & "Bitte prüfen Sie die Konfiguration der Datenbankverbindung und ggfls. den Datenbankserver", MsgBoxStyle.Critical)
- frmConfig_Basic.ShowDialog()
- End If
- If ClassDatabase.Init() = False Then
- ClassLogger.Add(" >> Global Indexer wird geschlossen!", False)
- START_INCOMPLETE = True
- Exit Sub
- End If
- If MyConnectionString = String.Empty Then
- ClassLogger.Add(" >> Kein Connection-String definiert - Global Indexer wird geschlossen!", False)
- START_INCOMPLETE = True
- Exit Sub
- End If
- USER_GUID = ClassDatabase.Execute_Scalar(sql, MyConnectionString)
- If USER_GUID Is Nothing Then
- ClassLogger.Add(" - ACHTUNG: User '" & Environment.UserName & "' nicht in der Userverwaltung hinterlegt!", False)
- MsgBox("Achtung: Sie sind nicht in der Userverwaltung hinterlegt." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
- ClassLogger.Add(" >> Global Indexer wird geschlossen!", False)
- START_INCOMPLETE = True
- Exit Sub
- Else
- Refresh_Licence()
- CURRENT_USERID = USER_GUID
- If UniversalViewer = String.Empty And My.Settings.DoNot_Show_Documents = False Then
- ERROR_STATE = "NO UV"
- frmConfig_Basic.ShowDialog()
- End If
-
-
- 'Die FolderWatch starten
- Dim folderwatch = ClassDatabase.Execute_Scalar("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'DEFAULT' AND USER_ID = " & CURRENT_USERID, MyConnectionString)
- Dim folderwatch_SCAN = ClassDatabase.Execute_Scalar("SELECT FOLDER_PATH FROM TBGI_FOLDERWATCH_USER WHERE FOLDER_TYPE = 'SCAN' AND USER_ID = " & CURRENT_USERID, MyConnectionString)
- If Not folderwatch Is Nothing Then
- CURRENT_FOLDERWATCH = folderwatch
- If FW_started = True Then
- tslblFW.Visible = True
- ClassFolderWatcher.StartStop_FolderWatch()
- End If
- End If
- If Not folderwatch_SCAN Is Nothing Then
- CURRENT_SCAN_FOLDERWATCH = folderwatch_SCAN
- If FWSCAN_started = True Then
- tslblFW.Visible = True
- ClassFolderWatcher.StartStop_FolderWatchSCAN()
- End If
- End If
- If CURRENT_FOLDERWATCH <> "" Or CURRENT_SCAN_FOLDERWATCH <> "" Then
- TimerFolderWatch.Start()
- End If
- sql = "SELECT MODULE_GI FROM TBDD_USER WHERE (LOWER(USERNAME) = LOWER('@user'))"
- sql = sql.Replace("@user", Environment.UserName)
- If ClassDatabase.Execute_Scalar(sql, MyConnectionString, True) = False Then
- ClassLogger.Add(" - User: " & Environment.UserName & " nicht für Modul freigegben!", False)
- MsgBox("Achtung: Sie sind nicht für die Nutzung dieses Moduls freigeschaltet." & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
- START_INCOMPLETE = True
- Exit Sub
- Else
- 'Am System anmelden
- sql = sql_User_Login
- sql = sql.Replace("@LogInOut", 1)
- sql = sql.Replace("@ANGEMELDETWO", Environment.MachineName)
- sql = sql.Replace("@user", Environment.UserName)
- If ClassDatabase.Execute_non_Query(sql, True) = False Then
- START_INCOMPLETE = True
- Exit Sub
- End If
- sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'Global-Indexer'"
+ ClassLogger.Add("", False)
+ If START_INCOMPLETE = False Then
+ Dim sql = "UPDATE TBDD_USER SET LOGGED_IN = 0, LOGGED_WHERE = '' WHERE LOWER(USERNAME) = LOWER('" & Environment.UserName & "')"
If ClassDatabase.Execute_non_Query(sql, True) = True Then
+ sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & CURRENT_USERID & " AND UPPER(MODULE) = UPPER('Global-Indexer')"
+ If ClassDatabase.Execute_non_Query(sql, True) = True Then
- End If
-
-
- sql = "INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,MODULE) VALUES (" & USER_GUID & ",'Global-Indexer')"
- ClassDatabase.Execute_non_Query(sql, True)
-
- sql = "SELECT GI_ADMIN FROM TBDD_USER WHERE GUID = " & USER_GUID
- ISUserAdmin = ClassDatabase.Execute_Scalar(sql, MyConnectionString)
-
- If ISUserAdmin = True Then
- ToolStripSeparator1.Visible = True
- AdministrationToolStripMenuItem.Visible = True
- Else
- ToolStripSeparator1.Visible = False
- AdministrationToolStripMenuItem.Visible = False
- End If
- 'Lizenz abgellaufen, überprüfen ob User Admin ist
- If License_Expired And ISUserAdmin = False Then
- ' wenn ja dann schliessen
- START_INCOMPLETE = True
- Exit Sub
- Else
- 'ansonsten timer starten
- TimerClose3Minutes.Start()
- End If
- 'Anzahl der eingeloggten User
- UserLoggedin = ClassDatabase.Execute_Scalar("select count(*) from TBDD_USER_MODULE_LOG_IN where MODULE = 'Global-Indexer'", MyConnectionString, True)
- If License_Anzahl < UserLoggedin Then
- MsgBox("Die Anzahl der aktuell angemeldeten User (" & UserLoggedin.ToString & ") überschreitet die Anzahl der aktuellen Lizenzen!" & vbNewLine & "Anzahl der Lizenzen: " & License_Anzahl.ToString & vbNewLine & "Bitte setzen Sie sich mit dem Systembetreuer in Verbindung!", MsgBoxStyle.Critical, "Achtung:")
- ClassLogger.Add(" >> Die Anzahl der aktuell angemeldeten User (" & UserLoggedin.ToString & ") überschreitet die Anzahl der Lizenzen (" & License_Anzahl & ") für Process-Manager!", False)
- If ISUserAdmin = False Then
- 'Anmeldung wieder herausnehmen
- sql = "DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = " & USER_GUID & " AND MODULE= 'Global-Indexer'"
- ClassDatabase.Execute_non_Query(sql, True)
- ClassLogger.Add(" - Wieder abgemeldet", False)
- START_INCOMPLETE = True
- Exit Sub
- Else
- 'ansonsten timer starten
- If TimerClose3Minutes.Enabled = False Then
- TimerClose3Minutes.Start()
- End If
End If
End If
- sql = "SELECT COUNT(*) AS Expr1 FROM TBDD_USER_MODULE_LOG_IN WHERE MODULE = 'Global-Indexer'"
- Dim anzahl = ClassDatabase.Execute_Scalar(sql, MyConnectionString)
- ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True)
- If LogErrorsOnly = False Then ClassLogger.Add(" >> Anzahl Angemeldete User: " & anzahl.ToString, False)
- If Load_BasicConfig() = False Then
- START_INCOMPLETE = True
- Exit Sub
+
+ End If
+ ClassWindowLocation.SaveFormLocationSize(Me)
+ Catch ex As Exception
+ MsgBox("Unexpected Error in Closing Application: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ End Try
+ If CURRENT_USERID > 0 Then
+ Unregister_Hotkeys()
+ End If
+ 'TempDateien löschen
+ Try
+ For Each _file In TEMP_FILES
+ System.IO.File.Delete(_file)
+ Next
+ Catch ex As Exception
+
+ End Try
+ End If
+ End Sub
+
+ Public Sub New()
+
+ ' Dieser Aufruf ist für den Designer erforderlich.
+ InitializeComponent()
+
+ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
+
+ End Sub
+
+ Private Sub frmStart_Load(sender As Object, e As EventArgs) Handles Me.Load
+ If My.Settings.AppTerminate = True Then
+ Exit Sub
+ End If
+ 'Me.TransparencyKey = Color.Transparent
+ ' Me.BackColor = Color.Transparent
+ Cursor = Cursors.WaitCursor
+ ' My.Application.ChangeUICulture("en")
+ 'My.Application.ChangeCulture("en")
+ Dim i = My.Application.UICulture.ToString()
+
+ Try
+
+
+ 'Dim sql = sql_UserID
+
+ Dim splash As New frmSplash()
+ splash.ShowDialog()
+
+ 'Lizenz abgellaufen, überprüfen ob User Admin ist
+ If LICENSE_COUNT < UserLoggedin Then
+ If CURRENT_USER_IS_ADMIN = True Then
+ ClassLogger.Add(">> User is Admin - Timer will be started", False)
+ If USER_LANGUAGE = "de-DE" Then
+ MsgBox("Sie haben nun 3 Minuten Zeit eine neue Lizenz zu vergeben!", MsgBoxStyle.Information)
+ Else
+ MsgBox("You now got 3 minutes to update the license!", MsgBoxStyle.Information)
+ End If
+
+ 'Timer starten
+ If TimerClose3Minutes.Enabled = False Then
+ TimerClose3Minutes.Start()
End If
- Unregister_Hotkeys()
- Load_Hotkeys()
End If
End If
+ If DOCTYPE_COUNT_ACTUAL > LICENSE_DOCTYPE_COUNT Then
+ If CURRENT_USER_IS_ADMIN = True Then
+ ClassLogger.Add(">> User is Admin - Timer will be started", False)
+ If USER_LANGUAGE = "de-DE" Then
+ MsgBox("Sie haben nun 3 Minuten Zeit eine neue Lizenz zu vergeben!", MsgBoxStyle.Information)
+ Else
+ MsgBox("You now got 3 minutes to update the license!", MsgBoxStyle.Information)
+ End If
+
+ 'Timer starten
+ If TimerClose3Minutes.Enabled = False Then
+ TimerClose3Minutes.Start()
+ End If
+ End If
+ End If
+
+ If CURRENT_USER_IS_ADMIN = True Then
+ ToolStripSeparator1.Visible = True
+ AdministrationToolStripMenuItem.Visible = True
+ Else
+ ToolStripSeparator1.Visible = False
+ AdministrationToolStripMenuItem.Visible = False
+ End If
+ ClassDatabase.Execute_non_Query("DELETE FROM TBGI_FILES_USER WHERE UPPER(USER@WORK) = UPPER('" & Environment.UserName & "')", True)
+ Unregister_Hotkeys()
+ Load_Hotkeys()
+ Me.Opacity = 30
+
+ 'tslblCultureInfo.Text = "Culture/Language: " & USER_LANGUAGE
+
Catch ex As Exception
MsgBox("Unexpected Error in Load-Form" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
+ Cursor = Cursors.Default
+ End Sub
+ Sub Start_Folderwatch()
+ If CURRENT_FOLDERWATCH <> "" Or CURRENT_SCAN_FOLDERWATCH <> "" Then
+ If FW_ISSTARTED = True Then
+ tslblFW.Visible = True
+ Else
+ tslblFW.Visible = False
+ End If
+ If TimerFolderWatch.Enabled = False Then
+ TimerFolderWatch.Start()
+ End If
+ End If
+
End Sub
Sub Unregister_Hotkeys()
Try
@@ -395,7 +491,7 @@ Public Class frmStart
sql = "delete from TBHOTKEYTEMP_USER_HOTKEYS where [USER_ID] = " & CURRENT_USERID
ClassDatabase.Execute_non_Query(sql, True)
End If
-
+
Catch ex As Exception
MsgBox("Error in Unregister_Hotkeys:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
@@ -444,11 +540,15 @@ Public Class frmStart
End Try
End Sub
Private Sub HotkeyEisntellungenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HotkeyEisntellungenToolStripMenuItem.Click
- Me.Hide()
- Unregister_Hotkeys()
- frmHotKey_Add.ShowDialog()
- Load_Hotkeys()
- Me.Visible = True
+ If ClassLicence.license_is_Valid = True Then
+ Me.Hide()
+ Unregister_Hotkeys()
+ frmHotKey_Add.ShowDialog()
+ Load_Hotkeys()
+ Me.Visible = True
+ End If
+
+
End Sub
Private Sub GlobalIndexerEinstellungenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles GlobalIndexerEinstellungenToolStripMenuItem.Click
@@ -460,15 +560,25 @@ Public Class frmStart
Private Sub GrundeinstellungenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles GrundeinstellungenToolStripMenuItem.Click
Me.TopMost = False
frmConfig_Basic.ShowDialog()
+ 'Wurde die Sprache in der Konfiguration geändert
+ If LANGUAGE_CHANGED = True Then
+ 'Sprache anpassen
+ SetLanguage()
+ LANGUAGE_CHANGED = False
+ End If
+ Start_Folderwatch()
Me.TopMost = True
End Sub
Private Sub FrmHotkeyAddToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles FrmHotkeyAddToolStripMenuItem.Click
- Me.TopMost = False
- Unregister_Hotkeys()
- frmHotkey_User.ShowDialog()
- Load_Hotkeys()
- Me.TopMost = True
+ If ClassLicence.license_is_Valid = True Then
+ Me.Hide()
+ Unregister_Hotkeys()
+ frmHotkey_User.ShowDialog()
+ Load_Hotkeys()
+ Me.Visible = True
+ End If
+
End Sub
Private Sub TimerFolderWatch_Tick(sender As Object, e As EventArgs) Handles TimerFolderWatch.Tick
@@ -496,10 +606,10 @@ Public Class frmStart
CURRENT_WORKFILE_GUID = row.Item("GUID")
Open_IndexDialog()
Else
- ClassLogger.Add(">> Datei existiert (noch) nicht - fileexists?!", False)
+ ClassLogger.Add(">> file not existing - filexists!", False)
End If
Else
- ClassLogger.Add(">> Datei '" & row.Item(1) & "' kann nicht exclusiv geöffnet werden - fileInUse!", False)
+ ClassLogger.Add(">> file '" & row.Item(1) & "' could not be opened exclusively - fileInUse!", False)
End If
Next
@@ -514,25 +624,99 @@ Public Class frmStart
End Try
End Sub
Private Sub TimerClose3Minutes_Tick(sender As Object, e As EventArgs) Handles TimerClose3Minutes.Tick
- If License_Expired = True Or License_Anzahl < UserLoggedin Then
- MsgBox("Global Indexer wird nun geschlossen, weil keine neue Lizenzdaten eingegeben wurden!", MsgBoxStyle.Information)
+ If LICENSE_EXPIRED = True Or LICENSE_COUNT < UserLoggedin Then
+ If USER_LANGUAGE = "de-DE" Then
+ MsgBox("Global Indexer wird nun geschlossen, weil keine neue Lizenzdaten eingegeben wurden!", MsgBoxStyle.Information)
+ Else
+ MsgBox("Global Indexer will now be closed, cause no new license was updated!", MsgBoxStyle.Information)
+ End If
+
Me.Close()
+ Else
+ TimerClose3Minutes.Stop()
End If
End Sub
Private Sub frmStart_Shown(sender As Object, e As EventArgs) Handles Me.Shown
- If START_INCOMPLETE = True Then
+ If My.Settings.AppTerminate = True Then
Me.Close()
End If
+ If START_INCOMPLETE = True Then
+ If LICENSE_COUNT = 0 And LICENSE_EXPIRED = True Then
+
+ Else
+ Me.Close()
+ End If
+ Else
+ TimerFolderWatch.Start()
+ End If
+ If UniversalViewer_Path = String.Empty And My.Settings.DoNot_Show_Documents = False Then
+ ERROR_STATE = "NO UV"
+ Me.TopMost = False
+ frmConfig_Basic.ShowDialog()
+ Me.TopMost = True
+ End If
loaded = True
Opacity = 0.65
- TimerFolderWatch.Start()
- End Sub
+ 'Sprache anpassen
+ SetLanguage()
+ Start_Folderwatch()
+ ClassWindowLocation.LoadFormLocationSize(Me)
+ End Sub
Private Sub HistoryIndexierteDateienToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HistoryIndexierteDateienToolStripMenuItem.Click
frmHistory.ShowDialog()
End Sub
Private Sub InfoToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles InfoToolStripMenuItem.Click
+ Me.TopMost = False
AboutBox1.ShowDialog()
+ Me.TopMost = True
+ End Sub
+
+ Private Sub frmStart_SizeChanged(sender As Object, e As EventArgs) Handles Me.SizeChanged
+
+ End Sub
+
+ Private Sub TimerCheckDroppedFiles_Tick(sender As Object, e As EventArgs) Handles TimerCheckDroppedFiles.Tick
+ TimerCheckDroppedFiles.Stop()
+ Check_Dropped_Files()
+ End Sub
+ Private Sub LabelControl1_DragDrop(sender As Object, e As DragEventArgs) Handles LabelControl1.DragDrop, btnChoosefiles.DragDrop
+ If ClassDragDrop.Drop_File(e) = True Then
+ TimerCheckDroppedFiles.Start()
+ End If
+ End Sub
+
+ Private Sub LabelControl1_DragEnter(sender As Object, e As DragEventArgs) Handles LabelControl1.DragEnter, btnChoosefiles.DragEnter
+ Drag_Enter(sender, e)
+ End Sub
+
+ Private Sub btnChoosefiles_Click(sender As Object, e As EventArgs) Handles btnChoosefiles.Click
+ Try
+ Dim openFileDialog1 As New OpenFileDialog
+ Dim fName As String
+ 'openFileDialog1.InitialDirectory = "c:\"
+ 'openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
+ 'openFileDialog1.FilterIndex = 2
+
+ openFileDialog1.RestoreDirectory = True
+
+ openFileDialog1.Multiselect = True
+
+ If openFileDialog1.ShowDialog() = DialogResult.OK Then
+ Dim i As Integer = 0
+ ClassDragDrop.files_dropped = Nothing
+ For Each fName In openFileDialog1.FileNames
+ ReDim Preserve ClassDragDrop.files_dropped(i)
+ ClassLogger.Add(">> Chosen File: " & fName, False)
+ ClassDragDrop.files_dropped(i) = "@DROPFROMFSYSTEM@" & fName
+ i += 1
+ Next
+ TimerCheckDroppedFiles.Start()
+ End If
+ Catch ex As Exception
+ MsgBox("Unexpected Error in Choose Files for Indexing:" & vbNewLine & ex.Message, MsgBoxStyle.Critical)
+ End Try
+
End Sub
End Class
\ No newline at end of file
diff --git a/Global_Indexer/frmUserKonfig_AddUsers.designer.vb b/Global_Indexer/frmUserKonfig_AddUsers.designer.vb
index f7aa781..7e11af5 100644
--- a/Global_Indexer/frmUserKonfig_AddUsers.designer.vb
+++ b/Global_Indexer/frmUserKonfig_AddUsers.designer.vb
@@ -30,9 +30,9 @@ Partial Class frmUserKonfig_AddUsers
Me.clbUsers = New System.Windows.Forms.CheckedListBox()
Me.ToolStrip2 = New System.Windows.Forms.ToolStrip()
Me.ToolStripLabel2 = New System.Windows.Forms.ToolStripLabel()
- Me.btnCancel = New System.Windows.Forms.Button()
Me.tbSelectEverything = New System.Windows.Forms.ToolStripButton()
Me.tbSelectNone = New System.Windows.Forms.ToolStripButton()
+ Me.btnCancel = New System.Windows.Forms.Button()
Me.btnAddUsers = New System.Windows.Forms.Button()
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer1.Panel1.SuspendLayout()
@@ -115,15 +115,6 @@ Partial Class frmUserKonfig_AddUsers
Me.ToolStripLabel2.Size = New System.Drawing.Size(128, 22)
Me.ToolStripLabel2.Text = "Verfügbare Benutzer:"
'
- 'btnCancel
- '
- Me.btnCancel.Location = New System.Drawing.Point(220, 425)
- Me.btnCancel.Name = "btnCancel"
- Me.btnCancel.Size = New System.Drawing.Size(75, 23)
- Me.btnCancel.TabIndex = 4
- Me.btnCancel.Text = "Abbrechen"
- Me.btnCancel.UseVisualStyleBackColor = True
- '
'tbSelectEverything
'
Me.tbSelectEverything.Image = Global.Global_Indexer.My.Resources.Resources.CheckOutforEdit_13187_32x
@@ -141,6 +132,15 @@ Partial Class frmUserKonfig_AddUsers
Me.tbSelectNone.Size = New System.Drawing.Size(104, 22)
Me.tbSelectNone.Text = "Nichts auswählen"
'
+ 'btnCancel
+ '
+ Me.btnCancel.Location = New System.Drawing.Point(220, 425)
+ Me.btnCancel.Name = "btnCancel"
+ Me.btnCancel.Size = New System.Drawing.Size(75, 23)
+ Me.btnCancel.TabIndex = 4
+ Me.btnCancel.Text = "Abbrechen"
+ Me.btnCancel.UseVisualStyleBackColor = True
+ '
'btnAddUsers
'
Me.btnAddUsers.Image = Global.Global_Indexer.My.Resources.Resources.add
diff --git a/Global_Indexer/frmUserKonfig_AddUsers.vb b/Global_Indexer/frmUserKonfig_AddUsers.vb
index be15f38..1e561d2 100644
--- a/Global_Indexer/frmUserKonfig_AddUsers.vb
+++ b/Global_Indexer/frmUserKonfig_AddUsers.vb
@@ -3,20 +3,172 @@ Imports System.DirectoryServices.ActiveDirectory
Imports System.DirectoryServices.AccountManagement
Public Class frmUserKonfig_AddUsers
+ Public Function GetAllADGroups() As List(Of String)
+ Try
+ Dim enTry As DirectoryEntry = New DirectoryEntry("LDAP://" & Environment.UserDomainName) 'digitaldata.local
+ Dim mySearcher As DirectorySearcher = New DirectorySearcher(enTry)
+ mySearcher.Filter = ("(&(objectClass=group))")
+ Dim result As New List(Of String)
+ For Each resEnt As SearchResult In mySearcher.FindAll()
+ Dim myEntry As DirectoryEntry = resEnt.GetDirectoryEntry
+ Dim groupName As String = myEntry.Name.Replace("CN=", "")
+ If Not groupName.StartsWith("WinRMR") Or Not groupName.StartsWith("Gäst") Or Not groupName.StartsWith("Druck") Or Not groupName.StartsWith("Sicherungs") Or Not groupName.StartsWith("Replikations") Or Not groupName.StartsWith("Netzwerkskon") _
+ Or Not groupName.StartsWith("Leistungs") Or Not groupName.StartsWith("Distributed COM") Or Not groupName.StartsWith("IIS_") Or Not groupName.StartsWith("Kryptografie") Or Not groupName.StartsWith("Ereignis") Or Not groupName.StartsWith("Zertifikat") _
+ Or Not groupName.StartsWith("RDS-") Or Not groupName.StartsWith("Hyper-V") Or Not groupName.StartsWith("Zugriffssteuerungs") Or Not groupName.StartsWith("Remoteverwaltungs") Or Not groupName.StartsWith("Domänencomput") Or Not groupName.StartsWith("Domänen-Gäste") _
+ Or Not groupName.StartsWith("Richtlinien-Ersteller") Or Not groupName.StartsWith("RAS- und IAS-Server") Or Not groupName.StartsWith("Server-Operatore") Or Not groupName.StartsWith("Konten-Oper") Or Not groupName.StartsWith("Prä-Windows") _
+ Or Not groupName.StartsWith("Einstellungen eingehender") Or Not groupName.StartsWith("Windows-Auth") Or Not groupName.StartsWith("Terminalserver-Liz") Or Not groupName.StartsWith("Zulässige") Or Not groupName.StartsWith("Abgelehnte") Or Not groupName.StartsWith("Schreibgeschützte Domänen") _
+ Or Not groupName.StartsWith("Klonbare") Or Not groupName.StartsWith("Protected User") Or Not groupName.StartsWith("Dns") Or Not groupName.StartsWith("DHCP") Or Not groupName.StartsWith("IIS_IUSR") Or Not groupName.StartsWith("Richtlinien-Ersteller") _
+ Or Not groupName.StartsWith("Abgelehnte RODC-Kenn") Then
+ Dim users As List(Of String) = GetGroupUsers(groupName)
+ If Not IsNothing(users) Then
+ result.Add(groupName)
+ End If
+ End If
+
+
+
+ 'MsgBox(myEntry.Name)
+ 'Dim MyLVI As ListViewItem = ListView2.Items.Add(Rc(myEntry.Name))
+ 'MyLVI.SubItems.Add("Global Secutiry Group")
+ 'MyLVI.SubItems.Add(Replace(myEntry.Parent.Path, "LDAP://", ""))
+ 'MyLVI.ImageKey = "ad_icon_group"
+ Next
+
+ 'Dim sPath As String = "LDAP://digitaldata.local"
+ 'Dim myDirectory As New DirectoryEntry(sPath)
+ 'Dim mySearcher1 As New DirectorySearcher(myDirectory)
+ 'Dim mySearchResultColl As SearchResultCollection
+ 'Dim mySearchResult As SearchResult
+ 'Dim result As New List(Of String)
+ 'Dim objGroupEntry As DirectoryEntry
+
+ 'mySearcher1.Filter = "(&(objectClass=Group))"
+ 'mySearchResultColl = mySearcher1.FindAll()
+
+ 'If (mySearchResultColl.Count <> 0) Then
+ ' For Each mySearchResult In mySearchResultColl
+ ' objGroupEntry = mySearchResult.GetDirectoryEntry()
+ ' result.Add(objGroupEntry.Name)
+ ' Next
+ 'End If
+
+ Return result
+
+ Catch ex As System.Exception
+ Return Nothing
+ End Try
+ End Function
Private Sub formUserConfig_AddUsers_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
- Dim groups As List(Of String) = GetActiveDirectoryGroups()
+ Me.Cursor = Cursors.WaitCursor
+ Dim groups As List(Of String) = GetAllADGroups()
+ ' Sort alphabetically.
+ groups.Sort()
+ Me.Cursor = Cursors.Default
For Each group In groups
lbGroups.Items.Add(group)
Next
+ 'Dim groups As List(Of String) = GetActiveDirectoryGroups()
+
+ 'For Each group In groups
+ ' lbGroups.Items.Add(group)
+ 'Next
+
Catch ex As Exception
MsgBox("Error in Load Groups: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
Me.Cursor = Cursors.Default
End Sub
+ Public Function GetUsername_FromDisplayname(ByVal strUserString As String)
+ Try
+ Dim enTry As DirectoryEntry = New DirectoryEntry("LDAP://" & Environment.UserDomainName) 'digitaldata.local
+ Dim mySearcher As DirectorySearcher = New DirectorySearcher(enTry)
+ mySearcher.Filter = ("(&(objectCategory=person)(objectClass=user)(cn=" & strUserString & "))")
+ 'Retrieve results
+ Dim dsResult As SearchResult = mySearcher.FindOne
+ If dsResult Is Nothing Then
+ 'No results returned
+ Return ""
+ End If
+ 'For Each Str As DictionaryEntry In dsResult.Properties
+ ' Console.WriteLine(Str.Key.ToString & " - " & Str.Value.ToString)
+ 'Next
+ Dim usrname = dsResult.Properties("samaccountname")(0)
+ Return usrname
+ Catch ex As Exception
+ ClassLogger.Add("Error in GetUsername_FromDisplayname: " & ex.Message, True)
+ Return ""
+ End Try
+
+
+ End Function
+ Public Function GetProperty_LDAP(ByVal strUserString As String, _property As String)
+ Try
+ Dim enTry As DirectoryEntry = New DirectoryEntry("LDAP://" & Environment.UserDomainName) 'digitaldata.local
+ Dim mySearcher As DirectorySearcher = New DirectorySearcher(enTry)
+ mySearcher.Filter = ("(&(objectCategory=person)(objectClass=user)(cn=" & strUserString & "))")
+ 'Retrieve results
+ Dim dsResult As SearchResult = mySearcher.FindOne
+
+ If dsResult Is Nothing Then
+ 'No results returned
+ Return ""
+ End If
+ 'For Each Str As DictionaryEntry In dsResult.Properties
+ ' Console.WriteLine(Str.Key.ToString & " - " & Str.Value.ToString)
+ 'Next
+ Dim usrname = dsResult.Properties(_property)(0)
+ Return usrname
+ Catch ex As Exception
+ ClassLogger.Add("Error in GetProperty_LDAP: " & ex.Message, True)
+ Return ""
+ End Try
+
+
+ End Function
+
+ Public Function GetEmail_FromDisplayname(ByVal strUserString As String)
+ Try
+ Dim enTry As DirectoryEntry = New DirectoryEntry("LDAP://" & Environment.UserDomainName) 'digitaldata.local
+ Dim mySearcher As DirectorySearcher = New DirectorySearcher(enTry)
+ mySearcher.Filter = ("(&(objectCategory=person)(objectClass=user)(cn=" & strUserString & "))")
+ 'Retrieve results
+ Dim dsResult As SearchResult = mySearcher.FindOne
+
+ If dsResult Is Nothing Then
+ 'No results returned
+ Return ""
+ End If
+ 'For Each Str As DictionaryEntry In dsResult.Properties
+ ' Console.WriteLine(Str.Key.ToString & " - " & Str.Value.ToString)
+ 'Next
+ Dim email = dsResult.Properties("mail")(0)
+ Return email
+ Catch ex As Exception
+ ClassLogger.Add("Error in GetEmail_FromDisplayname: " & ex.Message, True)
+ Return ""
+ End Try
+
+
+ End Function
+ Public Shared Function FindEmailsFromSamAccountName(ByVal samAccountName As String) As String
+
+ Dim ctx As New PrincipalContext(ContextType.Domain)
+
+ Dim qbeUser As New UserPrincipal(ctx)
+ qbeUser.SamAccountName = samAccountName
+ qbeUser.Enabled = True
+
+ Dim srch As New PrincipalSearcher(qbeUser)
+ For Each foundUser In srch.FindAll
+ Dim up As UserPrincipal = CType(foundUser, UserPrincipal)
+ Return up.EmailAddress
+ Next
+ Return ""
+ End Function
Function GetActiveDirectoryGroups() As List(Of String)
Me.Cursor = Cursors.WaitCursor
Dim groups As List(Of String) = New List(Of String)
@@ -31,68 +183,139 @@ Public Class frmUserKonfig_AddUsers
Return groups
End Function
+ Public Function GetGroupUsers(ByVal strGroupName As String)
+ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ '
+ ' Returns all the users of a specific group
+ ' Each user on seperate line in the string
+ ' The group name being passed is not case sensitive
+ '
+ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Dim dsDirectorySearcher As New DirectorySearcher
+ Dim strUsers As String
+ Dim intEqualsIndex As Integer
+ Dim intCommaIndex As Integer
+ Dim result As New List(Of String)
+
+ 'Filter by group name
+ With dsDirectorySearcher
+ .Filter = "sAMAccountName=" & strGroupName
+ .PropertiesToLoad.Add("member")
+
+ Try
+ 'Retrieve results
+ Dim dsResult As SearchResult = .FindOne
+ Dim intCounter As Integer
+
+ If dsResult Is Nothing Then
+ 'No results returned
+ Return Nothing
+ End If
+ Dim d = dsResult.Properties("member").Count
+ For intCounter = 0 To dsResult.Properties("member").Count - 1
+ strUsers = dsResult.Properties("member")(intCounter).ToString
+
+ 'Get index of equals and comma
+ intEqualsIndex = strUsers.IndexOf("=", 1)
+ intCommaIndex = strUsers.IndexOf(",", 1)
+
+ If intEqualsIndex = -1 Then
+ Return Nothing
+ End If
+ 'Console.WriteLine(strUsers)
+ 'Extract name from string and append to List
+ result.Add(strUsers.Substring((intEqualsIndex + 1), (intCommaIndex - intEqualsIndex) - 1))
+
+ Next intCounter
+
+ Catch ex As Exception
+ MessageBox.Show("Error in GetGroupUsers Function" & vbNewLine & vbNewLine _
+ & ex.Message, "Active Directory Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
+
+ End Try
+
+ End With
+
+ Return result
+
+ End Function
Function GetUsersForGroup(g As String) As List(Of UserPrincipal)
Dim users As List(Of UserPrincipal) = New List(Of UserPrincipal)
- Dim ctx As PrincipalContext = New PrincipalContext(ContextType.Domain)
- Dim group As GroupPrincipal = GroupPrincipal.FindByIdentity(ctx, g)
+ 'Dim ctx As PrincipalContext = New PrincipalContext(ContextType.Domain)
+ 'Dim group As GroupPrincipal = GroupPrincipal.FindByIdentity(ctx, g)
- Dim u = group.GetMembers(True)
+ 'Dim u = group.GetMembers(True)
- For Each user In u
- If user.GetType().Name = "UserPrincipal" Then
- users.Add(user)
- End If
- Next
+ 'For Each user In u
+ ' If user.GetType().Name = "UserPrincipal" Then
+ ' users.Add(user)
+ ' End If
+ 'Next
Return users
End Function
Private Sub lbGroups_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lbGroups.SelectedIndexChanged
+ Me.Cursor = Cursors.WaitCursor
Dim group As String = lbGroups.SelectedItem
- Dim users As List(Of UserPrincipal) = GetUsersForGroup(group)
+ Dim users As List(Of String) = GetGroupUsers(group)
clbUsers.Items.Clear()
- For Each user In users
- clbUsers.Items.Add(user)
- Next
- End Sub
-
- Private Sub btnAddUsers_Click(sender As Object, e As EventArgs) Handles btnAddUsers.Click
- Dim items As CheckedListBox.CheckedItemCollection = clbUsers.CheckedItems
- Dim usersAdded As Integer = 0
-
- If items.Count = 0 Then
- MsgBox("Keine Benutzer ausgewählt")
+ If users Is Nothing Then
+ Me.Cursor = Cursors.Default
Exit Sub
End If
- For Each item As UserPrincipal In items
- Dim user As UserPrincipal = item
- Dim PRENAME As String = user.GivenName
- Dim NAME As String = user.Surname
- Dim email As String = user.EmailAddress
- Dim USERNAME As String = user.SamAccountName.ToLower()
- Dim SQL
- If Not UserExists(USERNAME) Then
- SQL = "INSERT INTO TBDD_USER(PRENAME, NAME, USERNAME, EMAIL, MODULE_GI,ADDED_WHO) VALUES('" & PRENAME & "', '" & NAME & "', '" & USERNAME & "','" & email & "'," & 1 & ",'" & Environment.UserName & "')"
- If ClassDatabase.Execute_non_Query(SQL) = True Then
- usersAdded = usersAdded + 1
- End If
- Else
- SQL = "UPDATE TBDD_USER SET MODULE_GI = 1 WHERE UPPER(USERNAME) = UPPER('" & USERNAME & "')"
- If ClassDatabase.Execute_non_Query(SQL) = True Then
- usersAdded = usersAdded + 1
- End If
- End If
+ For Each user In users
+ clbUsers.Items.Add(user)
Next
+ Me.Cursor = Cursors.Default
- If usersAdded = 1 Then
- MsgBox(usersAdded & " neuer Benutzer hinzugefügt", MsgBoxStyle.Information)
- Else
- MsgBox(usersAdded & " neue Benutzer hinzugefügt", MsgBoxStyle.Information)
- End If
+ End Sub
+
+ Private Sub btnAddUsers_Click(sender As Object, e As EventArgs) Handles btnAddUsers.Click
+ Try
+ Dim items As CheckedListBox.CheckedItemCollection = clbUsers.CheckedItems
+ Dim usersAdded As Integer = 0
+
+ If items.Count = 0 Then
+ MsgBox("Keine Benutzer ausgewählt")
+ Exit Sub
+ End If
+
+ For Each item In items
+ Dim user As String = item.ToString
+ Dim PRENAME As String = GetProperty_LDAP(user, "givenName")
+ Dim NAME As String = GetProperty_LDAP(user, "sn")
+ Dim email As String = GetProperty_LDAP(user, "mail")
+ Dim USERNAME As String = GetProperty_LDAP(user, "samaccountname")
+
+ Dim SQL
+ If Not UserExists(USERNAME) Then
+ SQL = String.Format("INSERT INTO TBDD_USER(PRENAME, NAME, USERNAME, EMAIL, MODULE_GI,ADDED_WHO) VALUES('{0}', '{1}', '{2}','{3}',1,'{4}')", PRENAME, NAME, USERNAME, email, Environment.UserName)
+ If ClassDatabase.Execute_non_Query(SQL) = True Then
+ usersAdded = usersAdded + 1
+ End If
+ Else
+ SQL = "UPDATE TBDD_USER SET MODULE_GI = 1 WHERE UPPER(USERNAME) = UPPER('" & USERNAME & "')"
+ If ClassDatabase.Execute_non_Query(SQL) = True Then
+ usersAdded = usersAdded + 1
+ End If
+ End If
+ Next
+
+ If usersAdded = 1 Then
+ MsgBox(usersAdded & " neuer Benutzer hinzugefügt", MsgBoxStyle.Information)
+ Else
+ MsgBox(usersAdded & " neue Benutzer hinzugefügt", MsgBoxStyle.Information)
+ End If
+ Catch ex As Exception
+ MsgBox("Error in Adding Users from LDAP: " & vbNewLine & ex.Message)
+ End Try
+
End Sub
@@ -125,4 +348,18 @@ Public Class frmUserKonfig_AddUsers
clbUsers.SetItemChecked(i, False)
Next
End Sub
+
+ 'Private Sub clbUsers_SelectedIndexChanged(sender As Object, e As EventArgs) Handles clbUsers.SelectedIndexChanged
+ ' Me.Cursor = Cursors.WaitCursor
+ ' Dim user As String = clbUsers.SelectedItem
+ ' Dim usrname = GetProperty_LDAP(user, "samaccountname")
+ ' If Not IsNothing(usrname) Then
+ ' MsgBox(usrname)
+ ' End If
+
+ ' Dim email = GetProperty_LDAP(user, "mail")
+ ' If Not IsNothing(email) Then
+ ' MsgBox(email)
+ ' End If
+ 'End Sub
End Class
\ No newline at end of file
diff --git a/SetupWix/Product.wxs b/SetupWix/Product.wxs
index 897b192..b458d03 100644
--- a/SetupWix/Product.wxs
+++ b/SetupWix/Product.wxs
@@ -1,7 +1,7 @@
-
+
@@ -71,8 +71,13 @@
+
+
+
+
+
-
+
@@ -87,29 +92,29 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -157,6 +162,7 @@
+